判断一下上一次的状态,就可以实现 比如,你第一次是一般状态,你这次点击最大化按钮,那么窗体将“最大化”,你记录下当前窗体的状态,即“最大化”,当再次点击最大化按钮时,将其复原即可。参考:Option Explicit Dim lngNomarlWidth As Long '一般状态时的宽 Dim lngNomarlHeight As Long '一般状态时的高 Dim lngMaxWidth As Long '最大化时的宽 Dim lngMaxHeight As Long '最大化时的高 Dim intWindowState As Integer '记录窗体的状态 0:一般;1:最小化;2:最大化Private Sub Form_Load() lngNomarlWidth = 400 * 15 lngNomarlHeight = 300 * 15 lngMaxWidth = 800 * 15 lngMaxHeight = 600 * 15 intWindowState = Me.WindowState End SubPrivate Sub Form_Resize() Select Case Me.WindowState Case 0 '一般大小 intWindowState = 0 Case 1 '点中最小化 intWindowState = 1 Case 2 '点中最大化 If intWindowState = 2 Then Me.WindowState = 0 Me.Width = lngNomarlWidth Me.Height = lngNomarlHeight intWindowState = 0 ElseIf intWindowState = 0 Then Me.WindowState = 0 Me.Width = lngMaxWidth Me.Height = lngMaxHeight intWindowState = 2 End If End Select End Sub
Option ExplicitPrivate Sub Form_Resize()
Select Case Me.WindowState
Case 0 '一般大小
Case 1 '点中最小化
Case 2 '点中最大化
Me.WindowState = 0
Me.Width = 800 * 15
Me.Height = 600 * 15
End Select
1楼,想最好不自己重画标题栏的。
Me.Height = 600 * 15
,如何再按下就恢复窗体初始大小呢?请指教,谢谢!
定义一个bealoon变量,当你点击最大化,变量值为true,再次点击变量值变为false,通过判断变量值来切换最大化和原始状态-----------------------------
女子女子穴习,二人二人向下
如何最方便的实现最大化图标也跟着变化的,谢谢!
将Form.BorderStyle设置为0 ,无法隐藏窗体的标题栏的>>需要同时把form的controlbox属性设为false
如何最方便的实现最大化图标也跟着变化的>>那得你手动对图标进行设置-----------------------------
女子女子穴习,二人二人向下
如何手动对那个最大化图标进行改变呢?
比如,你第一次是一般状态,你这次点击最大化按钮,那么窗体将“最大化”,你记录下当前窗体的状态,即“最大化”,当再次点击最大化按钮时,将其复原即可。参考:Option Explicit
Dim lngNomarlWidth As Long '一般状态时的宽
Dim lngNomarlHeight As Long '一般状态时的高
Dim lngMaxWidth As Long '最大化时的宽
Dim lngMaxHeight As Long '最大化时的高
Dim intWindowState As Integer '记录窗体的状态 0:一般;1:最小化;2:最大化Private Sub Form_Load()
lngNomarlWidth = 400 * 15
lngNomarlHeight = 300 * 15
lngMaxWidth = 800 * 15
lngMaxHeight = 600 * 15
intWindowState = Me.WindowState
End SubPrivate Sub Form_Resize()
Select Case Me.WindowState
Case 0 '一般大小
intWindowState = 0
Case 1 '点中最小化
intWindowState = 1
Case 2 '点中最大化
If intWindowState = 2 Then
Me.WindowState = 0
Me.Width = lngNomarlWidth
Me.Height = lngNomarlHeight
intWindowState = 0
ElseIf intWindowState = 0 Then
Me.WindowState = 0
Me.Width = lngMaxWidth
Me.Height = lngMaxHeight
intWindowState = 2
End If
End Select
End Sub