窗体个性化设计的VBA代码技巧
时 间:2018-01-24 22:42:43
作 者:林岚 ID:3651 城市:中卫
摘 要:如何让窗体的标题条闪烁以引起用户注意?
窗体上如何使用windows的媒体播放器?
指定当窗体上的命令按钮保持按下状态时,是否重复执行事件过程或宏?
vba如何獲取/設置在數據表方式下個列的寬度场?
窗体真正居中显示?
正 文:
如何让窗体的标题条闪烁以引起用户注意?
在窗体中放一个Timer控件Timer1,设置其Inteval=200
*API函数声明
Private Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long
注释:在窗体中写下如下代码:
Private Sub Timer1_Timer()
FlashWindow Me.hwnd, True
End Sub
窗体上如何使用windows的媒体播放器?
插入Microsoft Media Player控件
插入控件后,在控件中属性中的几个主要选项:
FileName:要播放的文件名,包括路径
AutoStrat:是否自动播放
AutoRevind:播放完后是否自动回到起点
指定当窗体上的命令按钮保持按下状态时,是否重复执行事件过程或宏?
使用 AutoRepeat 属性可以指定当窗体上的命令按钮保持按下状态时,是否重复执行事件过程或宏
True 、False
以隐藏方式打开一个窗体
me.visible=false
'允许添加
me.AllowAdditions= True
'记录不锁定
me.RecordLocks = 1
是否自动居中
AutoCenter= True,False
是否自动调整
AutoResize = True,False
窗体边框样式
me.BorderStyle=1 中译:无
其它
1 无
2 细边框
3 可调边框
4 对话框边框
设置窗体、页眉、页脚颜色:
Me.Section(0).BackColor = 200
Me.Section(1).BackColor = 200
Me.Section(2).BackColor = 200
窗体标题
me.Caption="中国ACCESS软件网" 中译:窗体标题为"中国ACCESS软件网"(不含引号)
关闭按钮
me.CloseButton =True 中译 允许关闭按钮
其它:true:允许 False:不允许
控制框
me.ControlBox =True 允许
其它:true:允许 False:不允许
默认视图
me.DefaultView =0 为单一窗口
其它:0:单一窗口1:连续窗体2:数据表
vba如何獲取/設置在數據表方式下個列的寬度场?
一、Me.RowHeight = 800
二、Me.子窗体名.Form.Controls("列名").ColumnWidth = 400
允许分隔线
me.DividingLines =True 中译 允许分隔线
其它:true:允许 False:不允许
允许打印版式
英文:me.LayoutForPrint =True 中译 允许打印版式
其它:true:允许 False:不允许
无最大最小化按钮
英文:me.MinMaxButtons =0 中译 无最大最小化按钮
其它:0:无 1:最大化 2:最小化 3:两者都有
允许浏览按钮
英文:me.NavigationButtons =True 中译 允许浏览按钮
其它:true:允许 False:不允许
滚动条
me.ScrollBars =0二者均无
其它:0:二者均无 1:只垂直 2:只水平3:二者都有
允许/不允许添加
me.AllowAdditions=True/False
允许/不允许删除
me.AllowDeletions=True/False
允许/不允许编辑
me.AllowEdits=True/False
指定是否允许打开绑定窗体进行数据输入
使用 DataEntry 属性可以指定是否允许打开绑定窗体进行数据输入。DataEntry 属性不决定是否可以添加记录,只决定是否显示已有的记录。Boolean 型,可读/写。
True 、False
允许/不允许筛选
me.AllowFilters=True/False
Filter="筛选内容"筛选
应用与/否筛选
FilterOn=True/False
将MyForm窗体的 BackColor 属性,改成ColorCode参数指定的色彩。
使用 QBColor 函数将MyForm窗体的 BackColor 属性,改成ColorCode参数指定的色彩。QBColor 可接受 0 到 15 的整型值。
Sub ChangeBackColor (ColorCode As Integer, MyForm As Form)
MyForm.BackColor = QBColor(ColorCode)
End Sub
窗体真正居中显示?
如下代码可以做到真正居中显示
Private Sub Form_Load()
DoCmd.Echo False
Dim x, y As Integer
DoCmd.Maximize
x = Me.WindowWidth
y = Me.WindowHeight
DoCmd.Restore
DoCmd.Echo True
Move (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2
End Sub
隐藏窗体[学生名册]数据表视图中的性别字段
Table!学生名册!性别.ColumnHidden = -1
显示获得焦点窗体的 Name 属性设置:
使用 ActiveForm 属性(和 Screen 对象一起)可以标识或引用获得焦点的窗体。
Dim dqhdct As Form
Set dqhdct = Screen.ActiveForm
MsgBox dqhdct.Name
判断窗体是否打开的方法
Function IsLoaded(strName As String, Optional intObjectType As Integer =
acForm)
IsLoaded = (SysCmd(acSysCmdGetObjectState, intObjectType, strName) <> 0)
End Function
使用 IsLoaded 属性可以确定当前是否加载了 AccessObject。Boolean 型,只读。
以下是一个示例:
If CurrentProject.AllForms("frmMain").IsLoaded = True Then
Forms!frmMain.Form.Visible = False
End If
窗体中组合框不在列表中示例
不在列表中事件代码:
Private Sub 名称_NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
If MsgBox("您输入的名称不在列表中,在列表中添加新记录吗?", 68, "银河酒业") = 6 Then
Me![名称] = Null
DoCmd.GoToControl "单价"
DoCmd.OpenForm "酒名列表", , , , acAdd, acNormal
Else
Me![名称] = Null
Me![名称].Dropdown
End If
End Sub
获得焦点事件代码:
Private Sub 名称_GotFocus()
Me![名称].Requery
End Sub
如何让窗体总在最前面?
*API函数声明
Declare Function SetWindowPos Lib "user32" ( ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
注释:常量声明
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
注释: 在某个form里写:
SetWindowPos me.hWnd,WND_TOPMOST,0,0,0,0, SWP_NOMOVE 注释:或下面
SetWindowPos me.hWnd,WND_TOPMOST,0,0,0,0, SWP_NOSIZE
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)
- 最精简的组合框行来源数据快速输入(...(10.25)