窗体个性化设计的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)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)