Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Mar 11, 2000

Prevent an iconized window from being restored

When the user clicks on an iconized (minimized) form in the taskbar, Windows sends that form a WM_QUERYOPEN message, and inspects the value returned to the operating system. If this value is zero, the operation is canceled.

Using subclassing you can therefore determine when a form is about to be restored, and you can also refuse to restore it by returning 0. Here is a code snippet that does the trick:


' REQUIRES THE MSGHOOK.DLL COMPONENT
'
' you can omit the following constant definition, 
' because it is contained in the MsgHook type library
Const WM_QUERYOPEN = &H13

Dim WithEvents FormHook As MsgHook

Private Sub Form_Load()
    ' start form subclassing 
    Set FormHook = New MsgHook
    FormHook.StartSubclass hWnd
End Sub

Private Sub FormHook_AfterMessage(ByVal uMsg As Long, ByVal wParam As Long, _
    ByVal lParam As Long, retValue As Long)
    If uMsg = WM_QUERYOPEN Then
        ' The iconized form is being restored.
        ' ...
        ' Uncomment the next line to prevent the window from being restored.
        ' retValue = False
    End If
End Sub
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date