vb 单机任务栏的窗口不能最小化

来源:百度知道 编辑:UC知道 时间:2024/06/02 22:10:47
当borderstyle=none时,窗体就不能像borderstyle=sizable 那样,在任务栏点窗口就可以最小化和还原窗口了,请问怎么解决
因为我做的窗体不能有边框,自己做的按钮,这样就不能通过任务栏点击了,违背了用户习惯,不是很方便,希望能解决!

这则代码告诉你如何在运行时显示或隐藏窗体的标题栏。要使一个窗口的标题栏消失,你必须去掉control box、最大化按钮和最小化按钮,并且将caption设为空。不幸的是,VB中窗体的ControlBox、MinButton和MaxButton属性在运行期是只读的,因此,你只能在设计时做这些事。其实,只要能熟练操作关于窗口式样的API,你同样能在运行时办到这一点。
新建一个项目,把以下代码写入窗体:

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 Const GWL_STYLE = (-16)
Private Const WS_CAPTION = &HC00000 WS_BORDER 或 WS_DLGFRAME
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_SYSMENU = &H80000

Private Declare Function SetWindowPos Lib user32 _
(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, _
ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long