如何禁止窗口改变大小,同时允许最小化、最大化.txt
来自「以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题」· 文本 代码 · 共 36 行
TXT
36 行
BorderStyle改 为 FixedSingle后 , 再 把 下 面 的 MinButton和 /或 MaxButton设 为 True就 可 以 了 。
主 持 人 注 : 下 面 的 两 种 方 法 也 可 以 满 足 要 求 , 虽 然 比 上 面 的 方 法 麻 烦 , 但 可 以 供 大 家 开 阔 思 路 。
<END>
Private Const WS_THICKFRAME = &H40000
Private Const GWL_EXSTYLE = (-20)
Private Const GWL_STYLE = (-16)
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
Private Sub Form_Load()
Dim xl As Long
Me.Show
Debug.Print Hex(Not WS_THICKFRAME)
xl = GetWindowLong(Form1.hwnd, GWL_STYLE)
xl = xl And (Not WS_THICKFRAME)
SetWindowLong Form1.hwnd, GWL_STYLE, xl
End Sub
<END>
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Const SC_SIZE = &HF000
Private Const MF_BYCOMMAND = &H0&
Private Sub Form_Load()
Dim hMenu As Long, Success As Long
hMenu = GetSystemMenu(Form1.hwnd, 0)
Success = DeleteMenu(hMenu, SC_SIZE, MF_BYCOMMAND)
End Sub
<END>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?