Make Form Transparent on Move and Resize
Make your Form transparent when it is Moved and Resized with this little code snippet. I think this adds a nice touch to any user interface. This wont make your forms transparent on Win98/WinME because those versions don't support transparencies, but this will work perfect on Win2K, WinXP and Windows Longhorn.
AI
AI Summary: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Source Code
Private Const WM_NCLBUTTONDOWN As Long = &HA1 Private Const WM_NCLBUTTONUP As Long = &HA0 Private Const WM_MOVING As Long = &H216 Private Const WM_SIZE As Long = &H5 Protected Overrides Sub DefWndProc(ByRef m As System.Windows.Forms.Message) Static LButtonDown As Boolean 'Check the state of the Left Mouse Button If CLng(m.Msg) = WM_NCLBUTTONDOWN Then 'set LButtonDown to True is Left Mouse Button is down LButtonDown = True ElseIf CLng(m.Msg) = WM_NCLBUTTONUP Then 'set LButtonDown to False is Left Mouse Button is not down LButtonDown = False End If If LButtonDown Then If CLng(m.Msg) = WM_MOVING Then 'Set the forms opacity to 50% if user is draging the window If Me.Opacity <> 0.5 Then Me.Opacity = 0.5 ElseIf CLng(m.Msg) = WM_SIZE Then 'Set the forms opacity to 50% if user is resizing the window If Me.Opacity <> 0.5 Then Me.Opacity = 0.5 End If ElseIf Not LButtonDown Then If Me.Opacity <> 1.0 Then Me.Opacity = 1.0 End If MyBase.DefWndProc(m) End Sub
Original Comments (3)
Recovered from Wayback Machine