VB中如何控制窗体上的关闭按钮是否可用
2012-05-03 20:04
295 查看
前几天,我们在调试代码的过程中我发现,我们的画图板窗体上关闭按钮不可用,这是什么原因呢,查了关于窗体得属性只有控制Maxbutton 和MinButton,而没有控制关闭的,我们找来了师傅,在百度上查了又查终于找到答案了!
原来在代码中利用了API函数才实现了这样的效果.
这是相关代码:
PrivateDeclare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long,ByVal bRevert As Long) As Long
PrivateDeclare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByValnPosition As Long, ByVal wFlags As Long) As Long
PrivateConst MF_REMOVE = &H1000
PrivateConst SC_CLOSE = &HF060
FunctionDisabled(ChWnd As Long)
DimhMenu, hendMenu As Long
Dim c AsLong
hMenu =GetSystemMenu(ChWnd, 0)
RemoveMenuhMenu, SC_CLOSE, MF_REMOVE
EndFunction
'然后在SubForm_Load()中加入Disabled Me.hwnd即可:
PrivateSub Form_Load()
DisabledMe.hwnd
End Sub
这让我很惊奇,一个小小的关闭按钮,怎么还用API函数来控制呢,看来我的学习还不够,连冰山一角都没学到,API好神秘啊.功能也那么强大,什么时候我才能运用自如了.
我得努力!!!
通过这个小问题的学习,我悟出,遇事不要慌,不要先在心理上给自己打退堂鼓,这才是对待问题的良策呀!!!
原来在代码中利用了API函数才实现了这样的效果.
这是相关代码:
PrivateDeclare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long,ByVal bRevert As Long) As Long
PrivateDeclare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByValnPosition As Long, ByVal wFlags As Long) As Long
PrivateConst MF_REMOVE = &H1000
PrivateConst SC_CLOSE = &HF060
FunctionDisabled(ChWnd As Long)
DimhMenu, hendMenu As Long
Dim c AsLong
hMenu =GetSystemMenu(ChWnd, 0)
RemoveMenuhMenu, SC_CLOSE, MF_REMOVE
EndFunction
'然后在SubForm_Load()中加入Disabled Me.hwnd即可:
PrivateSub Form_Load()
DisabledMe.hwnd
End Sub
这让我很惊奇,一个小小的关闭按钮,怎么还用API函数来控制呢,看来我的学习还不够,连冰山一角都没学到,API好神秘啊.功能也那么强大,什么时候我才能运用自如了.
我得努力!!!
通过这个小问题的学习,我悟出,遇事不要慌,不要先在心理上给自己打退堂鼓,这才是对待问题的良策呀!!!
相关文章推荐
- 如何控制服务器按钮是否可用
- 如何用js控制控件是否可用
- 如何打印整个 VB 窗体和控制打印大小
- C#中如何去除窗体默认的关闭按钮
- 个性判断文本框是否为空并控制提交按钮是否可用
- 用复选框状态控制按钮是否可用
- VB.NET是如何关闭窗体 .
- C#中如何去除窗体默认的关闭按钮
- 使C# 窗体的关闭按钮、最小化、最大化按钮不可用
- C#中如何去除窗体默认的关闭按钮?
- 如何在VB中关闭窗体?
- 如何让窗体的关闭按钮失效
- VB2005中如何禁用窗体右上角的关闭按钮?
- 使C# 窗体的关闭按钮、最小化、最大化按钮不可用
- VB.NET是如何关闭窗体
- 如何去掉子窗体的关闭按钮.右上角的那个X
- 使窗体的关闭按钮变灰 (但可用Alt+F4关闭)
- [VB.NET]点击窗体上面的关闭按钮时,激发的是哪个事件?
- 如何打印整个 VB 窗体和控制打印大小
- 在mfc中,如何设置一个隐藏菜单栏,工具栏,状态栏,最大化、最小化、关闭按钮的窗体 分类: MFC