移动没有标题栏的窗口 Declare Function ReleaseCapture Lib "user32" () As Long Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Public Const HTCAPTION = 2 Public Const WM_NCLBUTTONDOWN = &HA1 然后,在 Form_MouseDown 事件中: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) ReleaseCapture SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0& End Sub
因为Form的ControlBox设为了False,所以做了一个小图标用来最小化,函数Private Sub imgMin_Click() Me.WindowState = 1 End Sub但最小化后,在任务栏里没有,而是在桌面上有个最小化状态,并且没有Form没有Caption怎么解决?
Declare Function ReleaseCapture Lib "user32" () As Long
Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const HTCAPTION = 2
Public Const WM_NCLBUTTONDOWN = &HA1
然后,在 Form_MouseDown 事件中:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
ReleaseCapture
SendMessage hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End Sub
Me.WindowState = 1
End Sub但最小化后,在任务栏里没有,而是在桌面上有个最小化状态,并且没有Form没有Caption怎么解决?
^_^新的问题产生了~~~~,就在上面
还要请教了另:怎么给分哦~~ *^_^*
ShowInTaskbar 属性
返回或设置一个值,该值决定一个 Form 对象是否出现在 Windows 95 任务栏中。该值在运行时为只读状态。语法object.ShowInTaskbarobject 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。设置值ShowInTaskbar 属性的设置值为:设置值 描述
True (缺省值)该 Form 对象出现在任务栏中 。
False 该 Form 对象不出现在任务栏中。
说明应用程序中使用 ShowInTaskbar 属性可使对话框不出现在任务栏中。ShowInTaskbar 属性的缺省值假定为该 Form 对象的 BorderStyle 属性的缺省设置 (Sizable) 。改变 BorderStyle 属性将会改变 ShowInTaskbar 属性的设置。
BorderStyle 为 1
但是Private Sub imgMin_Click()
Me.WindowState = 1
msgbox Me.ShowInTaskbar
End Sub显示值为 1
NeoForm。查查看,或许能有所得。简单的来说,他是通过对窗口子类化实现的。类完成所有原窗口的消息处理。