禁用主窗口最大化和最小化按钮-林岚
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


禁用主窗口最大化和最小化按钮

发表时间:2018/1/24 22:56:48 评论(0) 浏览(6112)  评论 | 加入收藏 | 复制
   
摘 要:禁用主窗口最大化和最小化按钮
让主窗口最大化和最小化按钮消失
隐藏当前激活的工具条
显示和隐藏自定义的工具条
主窗口最小化
正 文:

禁用主窗口最大化和最小化按钮

'声明
Private Declare Function GetSystemMenu Lib "user32.dll" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32.dll" _
(ByVal hMenu As Long, ByVal uPosition As Long, ByVal uFlags As Long) As Long


'使用
Private Sub Form_Load()
Dim hSysMenu As Long
Dim retval As Long
hSysMenu = GetSystemMenu(hWndAccessApp, 0)
retval = RemoveMenu(hSysMenu, &HF120, &H0)
hSysMenu = GetSystemMenu(Me.hwnd, 0)
retval = RemoveMenu(hSysMenu, &HF120, &H0)
End Sub

让主窗口最大化和最小化按钮消失

'声明:
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal _
nIndex As Long, ByVal dwNewLong As Long) As Long

Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal _
nIndex As Long) As Long
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)


'使用:
Private Sub Form_Load()
Dim lWnd As Long
lWnd = GetWindowLong(hWndAccessApp, GWL_STYLE)

lWnd = lWnd And Not (WS_MINIMIZEBOX)
lWnd = lWnd And Not (WS_MAXIMIZEBOX)
lWnd = SetWindowLong(hWndAccessApp, GWL_STYLE, lWnd)
End Sub

计时器触发

Me.Text4.Value = Now()

隐藏当前激活的工具条:

 

Dim dqgjt As Variant

Set dqgjt = CommandBars.ActiveMenuBar

dqgjt.Enabled = False

 

显示和隐藏自定义的工具条

DoCmd.ShowToolbar "你的工具条名称", acToolbarYes

 

DoCmd.ShowToolbar "你的工具条名称", acToolbarNo

 

隐藏主程序窗口:(详见示例库)

Option Compare Database

Option Explicit

Private Const SW_HIDE = 0

Private Const SW_SHOWNORMAL = 1

Private Declare Function apiShowWindow Lib "user32" _

                                       Alias "ShowWindow" (ByVal hWnd As Long, _

                                                           ByVal nCmdShow As Long) As Long

 

 

Private Sub Command0_Click()

    If Me.Command0.Caption = "隐藏窗体" Then

        Me.Command0.Caption = "显示窗体"

        Call apiShowWindow(hWndAccessApp, SW_HIDE)

        DoCmd.Restore

    Else

        Me.Command0.Caption = "隐藏窗体"

        Call apiShowWindow(hWndAccessApp, SW_SHOWNORMAL)

       

        DoCmd.Close acForm, "frm_main"

        DoCmd.ShowToolbar "菜单栏", acToolbarYes

        DoCmd.Restore

    End If

End Sub

主窗口最小化:

DoCmd.RunCommand acCmdAppMinimize


Access软件网交流QQ群(群号:198465573)
 
 相关文章
完美禁用还原按钮  【andymark  2008/9/11】
access主窗体最大化与当前窗体最大化代码  【麥田  2010/2/19】
窗口最大化代码DoCmd.Maximize 窗口最小化代码DoCm...  【麥田  2012/11/25】
隐藏Access系统窗口的最大化、最小化按钮示例  【风行  2015/3/15】
如何启用和禁用其他数据库的shift键  【MDZZ  2017/6/19】
利用VBA禁用或启用Access主程序的关闭按钮  【Big Young  2017/12/3】
常见问答
技术分类
相关资源
文章搜索
关于作者

林岚

文章分类

文章存档

友情链接