Ok. The following code came from
http://www.vb-helper.com/HowTo/recthole.zip. Sorry if the link is dead. The purpose of the program is to cut a rectangular hole in the middle of a form. You will notice that if you have the Windows and Buttons style set to "Windows Xp Styles", the window will look plain, as if you set the Windos and Buttons style to "Windows Classic Style". You can tell the differnce becuase the "Windows Xp Style" has a bouble-like apperance, and the "Windows Classic Style" has the flat-Windows 98 appearence. Here is the code:
Option Explicit
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Sub Form_Load()
'OldWindowProc = SetWindowLong(Form1.hwnd, GWL_WNDPROC, AddressOf NewWindowProc)
Form1.Left = (Screen.Width - Form1.Width) / 2
Form1.Top = (Screen.Height - Form1.Height) / 2
'SetScreenRegion
End Sub
Public Sub Moving()
SetScreenRegion
End Sub
' The form has finished moving.
Public Sub Moved()
SetScreenRegion
End Sub
Private Sub Form_Resize()
SetScreenRegion
End Sub
Private Sub SetScreenRegion()
Const RGN_DIFF = 4
Dim outer_rgn As Long
Dim inner_rgn As Long
Dim combined_rgn As Long
Dim wid As Single
Dim hgt As Single
Dim border_width As Single
Dim title_height As Single
If WindowState = vbMinimized Then Exit Sub
' Create the regions.
wid = ScaleX(Width, vbTwips, vbPixels)
hgt = ScaleY(Height, vbTwips, vbPixels)
outer_rgn = CreateRectRgn(0, 0, wid, hgt)
border_width = (wid - ScaleWidth) / 2
title_height = hgt - border_width - ScaleHeight
inner_rgn = CreateRectRgn( _
wid * 0.25, hgt * 0.25, _
wid * 0.75, hgt * 0.75)
' Subtract the inner region from the outer.
combined_rgn = CreateRectRgn(0, 0, 0, 0)
CombineRgn combined_rgn, outer_rgn, _
inner_rgn, RGN_DIFF
' Restrict the window to the region.
SetWindowRgn hwnd, combined_rgn, True
DeleteObject combined_rgn
DeleteObject inner_rgn
DeleteObject outer_rgn
End Sub
Hope this is enough info.
Jabstract: Don't just imagine, make it happen!