VB6.0 屏蔽最大化与最小化 和窗口大小更改。

'设定窗口样式API
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'获取窗口样式API
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
'(最小化)
Const Ws_MI = &H20000
'(最大化)
Const Ws_MA = &H10000
'(标题栏)
Const Ws_CA = &HC00000
'设置窗口样式API
Const Gw_ST = -&H10 '-4,-8,-12,-16,-20,-21
'
Private Sub Command1_Click()
'按钮消失
Dim lWnd As Long
lWnd = GetWindowLong(Me.hwnd, Gw_ST) '获取
lWnd = lWnd And Not (Ws_MI) '最小化
lWnd = lWnd And Not (Ws_MA) '最大化
SetWindowLong Me.hwnd, Gw_ST, lWnd '设置
End Sub
Private Sub Command2_Click()
'按钮再现
Dim lWnd As Long
lWnd = GetWindowLong(Me.hwnd, Gw_ST) '获取
lWnd = lWnd Or (Ws_MI) '最小化
lWnd = lWnd Or (Ws_MA) '最大化
SetWindowLong Me.hwnd, Gw_ST, lWnd '设置
End Sub

'-------如果添加下边代码关闭按钮没了,如果仅使用上边代码,窗口大小不能固定。
Dim lWnd As Long
lWnd = lWnd Or (Ws_CA)
SetWindowLong Me.hwnd, Gw_ST, lWnd
'如何用这个API屏蔽窗口最大化与最小化并且禁止窗口大小调整!

VB本身就有这样的功能啊,犯的着用API这样的大杀器么?

把窗体的 BorderStyle 属性设为 1,这样窗体就无法通过拖动边框来改变大小了;

MaxButton 属性设为 False,这样就屏蔽了最大化按钮;

MinButton 属性设为 False,这样就屏蔽了最小化按钮。

追问

这个我知道,我需要在过程中更改,受按钮和配置文件控制呢!

温馨提示:内容为网友见解,仅供参考
无其他回答

VB6.0 屏蔽最大化与最小化 和窗口大小更改。
把窗体的 BorderStyle 属性设为 1,这样窗体就无法通过拖动边框来改变大小了;把 MaxButton 属性设为 False,这样就屏蔽了最大化按钮;把 MinButton 属性设为 False,这样就屏蔽了最小化按钮。

VB6.0中如何把窗体上的三个按钮(最小化,最大化,关闭)的最大化给去掉或...
选中窗体,在属性中把 maxbutton改为false,就失效了。

vb6.0怎么让窗体里的控件随着窗体的变化而改变大小?
'窗口大小发生改变时 Private Sub Form_Resize()On Error Resume Next '最小大小,防止比例失调 If Me.Width < 4800 Then Me.Width = 4800 If Me.Height < 3600 Then Me.Height = 3600 Dim cu As Control For Each cu In Me.Controls '调整大小 cu.Move cu.Left * Me.Width \/ OldW, cu...

VB6.0 如何通过代码实现 禁止窗口大小更改的功能?
Dim ow As Single, oh As SinglePrivate Sub Form_Load()ow = Widthoh = HeightEnd SubPrivate Sub Form_Resize()If WindowState = 0 Then Width = ow Height = ohEnd IfEnd Sub

vb6.0 点击最大化最小化和关闭(有上角的)触发什么事件
'其它方式引起窗体关闭,还有其它常数,这里不列举了 End Select End Sub 通过窗体大小变化时判断窗体状态来确定哪个按钮被按下。Private Sub Form_Resize()Select Case Form1.WindowState Case vbNormal '还原按钮被按下或窗体大小发生改变 Case vbMinimized '最小化按钮被按下 Case vbMaximized '最大...

vb 6.0的编辑框被我最大化了。。。怎么还原。。。
点工具条中工程资源管理器,然后用鼠标点到工程资源管理器左边框出现左右箭头和双竖线时,移动鼠标可调它的宽度.接着点工具条中属性窗口,再用鼠标点到属性窗口框上沿在出现左右箭头和双横线时,移动鼠标可调它的高度.同样也可解决窗体布局的问题.

VB6.0中自己做的按钮如何最小化?
在设计时把窗口的ShowInTaskbar属性设置为True,然后把WindowState设置为vbMinimized就可以,见下面代码:Private Sub Command1_Click() Form1.WindowState = vbMinimizedEnd Sub效果如下:

VB6.0 隐藏运行指定程序
hwnd As Long, ByVal nCmdShow As Long) As Long Private Sub Command1_Click()myhwnd = FindWindow(vbNullString, "1 - 记事本")ShowWindow myhwnd, 0 '设置隐藏 End Sub '更改showwindow 后的数值就可以了 '0--隐藏,1--保持原样,2-最小化,3--最大化 '这个应该比较好用 ...

VB使用API函数如何获得Windows窗口最大化,最小化事件?
MSDN也有,你可以查查,由于是公开的技术,且难度低,所以学起来不难。 虽然VB6.0实现不了监听,不过我们可以换一种方法来实现目的,你可以把系统中所有的窗口枚举出来且获取他们的状态,并按时更新,比如1秒更新一次,当发现窗口状态发生变化时,根据变化,就能知道窗口发生的事件了。采纳哦 ...

vb6.0属性值各是什么意思
当Visible为False时,窗体是不可见的。将值改为为True。运行时窗体就是可见的了。 WindowsState:设置程序运行中窗体的最小化、最大化和原形这三种状态。程序运行时的最小化状态。 Icon:设置窗体标题栏上的图标。 Picture:给窗体配上漂亮的位图。 最后要说明的是:窗体的Name和Caption属性,虽然缺省值相同,都...

相似回答