五笔打字通主页
VB编程使用关闭按钮不可用的方式,我提供两种方式,一是API的方式,让关闭按钮为灰色而不可用,另一方式是关闭按钮外观没有变化,但鼠标点击它没有任何反应。
先讲API的方式,先在窗体模块输入API函数
Private Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long) As Long
Private Const MF_REMOVE = &H1000
Private Const SC_CLOSE = &HF060
然后把关闭功能做一个模块:
Private Sub Disabled(a, B)
Dim hMenu, hwndMenu As Long
Dim c As Long
hMenu = GetSystemMenu(a, 0)
RemoveMenu hMenu, SC_CLOSE, MF_REMOVE
End Sub
最后在窗体load事件加入以下代码
Private Sub Form_Load()
Dim a As String
Dim B As Integer
a = Me.hwnd
B = 0
Disabled a, B
End Sub
启动此程序,发现关闭按钮已变灰而不可用,而且窗体左上角的控制菜单的关闭菜单也没有了。(但是用键盘alt+F4还是可以关闭窗体)
----------------------
第二种方式,就是在窗体的QueryUnload事件中,加入以下代码
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = 1
End Sub
这种方式运行的结果就是点击关闭没有反应,而且键盘用键盘alt+F4也无法关闭窗体,用代码 Unload Me 也无法关闭,用 end 才可以关闭窗体。
---------------------
其实还有一种方式,不用编程的方式,就是直接把窗体的 ControlBox 属性 设置为 False ,不过,启动后,你会发现标题栏上的按钮都消失了。
来源:济亨网
本文链接:https://wb98.com/post/22.html