Selaa lähdekoodia

Fixed font setting issues.
bbSystemEmitOSEvent() is void.
Made common.bmx superstrict.

woollybah 7 vuotta sitten
vanhempi
commit
2047df736e
2 muutettua tiedostoa jossa 290 lisäystä ja 282 poistoa
  1. 274 274
      win32maxguiex.mod/common.bmx
  2. 16 8
      win32maxguiex.mod/win32maxguiex.bmx

+ 274 - 274
win32maxguiex.mod/common.bmx

@@ -1,4 +1,4 @@
-Strict
+SuperStrict
 
 Import pub.win32
 
@@ -28,14 +28,14 @@ Extern
 	Function SystemParametersInfoW:Int(uiAction:UInt, uiParam:UInt, pvParam:Byte Ptr, fWinIni:UInt) "win32"="WINBOOL __stdcall  SystemParametersInfoW(UINT ,UINT ,PVOID ,UINT )!"
 	Function SetLayeredWindowAttributes:Int(hwnd:Byte Ptr,crKey:Int,bAlpha:Byte,dwFlags:Int) "win32"="WINBOOL __stdcall SetLayeredWindowAttributes(HWND ,COLORREF ,BYTE ,DWORD )!"
 
-	Function msHtmlCreate:Byte Ptr( owner:Object,wndclass$w,hwnd:Byte Ptr,flags )
+	Function msHtmlCreate:Byte Ptr( owner:Object,wndclass$w,hwnd:Byte Ptr,flags:Int )
 	Function msHtmlGo( handle:Byte Ptr,url$w )
 	Function msHtmlRun( handle:Byte Ptr,script$w )
-	Function msHtmlSetShape( handle:Byte Ptr,x,y,w,h )
-	Function msHtmlSetVisible( handle:Byte Ptr,visible )
-	Function msHtmlSetEnabled( handle:Byte Ptr,enabled )
-	Function msHtmlActivate(handle:Byte Ptr,cmd)
-	Function msHtmlStatus(handle:Byte Ptr)
+	Function msHtmlSetShape( handle:Byte Ptr,x:Int,y:Int,w:Int,h:Int )
+	Function msHtmlSetVisible( handle:Byte Ptr,visible:Int )
+	Function msHtmlSetEnabled( handle:Byte Ptr,enabled:Int )
+	Function msHtmlActivate:Int(handle:Byte Ptr,cmd:Int)
+	Function msHtmlStatus:Int(handle:Byte Ptr)
 	Function msHtmlHwnd:Byte Ptr(handle:Byte Ptr)
 	Function msHtmlBrowser(handle:Byte Ptr, browser:IWebBrowser2_ Var)
 	Function mstmlDocument:Byte Ptr(handle:Byte Ptr)
@@ -44,9 +44,9 @@ End Extern
 
 Extern "win32"
 	Function OpenThemeData:Byte Ptr( hwnd:Byte Ptr, lpszClassString:Short Ptr )
-	Function CloseThemeData( hTheme:Byte Ptr )
+	Function CloseThemeData:Int( hTheme:Byte Ptr )
 	Function SetWindowTheme:Byte Ptr( pHwnd:Byte Ptr, pThemeStr:Short Ptr, pList:Short Ptr ) 
-	Function IsThemeBackgroundPartiallyTransparent( hTheme:Byte Ptr, iPartId%, iStateId% ) 
+	Function IsThemeBackgroundPartiallyTransparent:Int( hTheme:Byte Ptr, iPartId%, iStateId% ) 
 	Function DrawThemeParentBackground:Byte Ptr(hwnd:Byte Ptr,hDC:Byte Ptr,pRect:Int Ptr) 
 	Function DrawThemeBackground:Byte Ptr( hTheme:Byte Ptr, hdc:Byte Ptr, iPartID%, iStateID%, pRect:Int Ptr, pClipRect:Int Ptr) 
 	Function GetThemeBackgroundContentRect:Byte Ptr( hTheme:Byte Ptr, hdc:Byte Ptr, iPartId%, iStateId%, pBoundingRect:Int Ptr, pContentRect:Int Ptr )
@@ -60,17 +60,17 @@ Const WM_MAXGUILISTREFRESH% = WM_APP + $100
 	
 Const S_OK:Int = 0
 
-Const E_OUTOFMEMORY=$8007000E
-Const E_INVALIDARG=$80070057
-Const E_ACCESSDENIED=$80070005
+Const E_OUTOFMEMORY:Int=$8007000E
+Const E_INVALIDARG:Int=$80070057
+Const E_ACCESSDENIED:Int=$80070005
 
 ' WM_SIZE message wParam values
 
-Const SIZE_RESTORED=0
-Const SIZE_MINIMIZED=1
-Const SIZE_MAXIMIZED=2
-Const SIZE_MAXSHOW=3
-Const SIZE_MAXHIDE=4
+Const SIZE_RESTORED:Int=0
+Const SIZE_MINIMIZED:Int=1
+Const SIZE_MAXIMIZED:Int=2
+Const SIZE_MAXSHOW:Int=3
+Const SIZE_MAXHIDE:Int=4
 
 'Tool-tips
 
@@ -105,7 +105,7 @@ Const SPI_GETWORKAREA:Int = 48
 Const SPI_GETNONCLIENTMETRICS:Int = 41
 
 'Button Image
-Const BCM_FIRST = $1600
+Const BCM_FIRST:Int = $1600
 Const BCM_SETIMAGELIST% = BCM_FIRST+2
 
 Const BUTTON_IMAGELIST_ALIGN_LEFT%		= 0
@@ -115,53 +115,53 @@ Const BUTTON_IMAGELIST_ALIGN_BOTTOM%	= 3
 Const BUTTON_IMAGELIST_ALIGN_CENTER%	= 4
 
 'ComboBox cue-banners
-Const CBM_FIRST = $1700
-Const CB_SETCUEBANNER = CBM_FIRST + 3
+Const CBM_FIRST:Int = $1700
+Const CB_SETCUEBANNER:Int = CBM_FIRST + 3
 
 'Progress bar colors
 'Const PBM_SETBARCOLOR=WM_USER+9
-Const PBM_SETBKCOLOR=CCM_FIRST+1
+Const PBM_SETBKCOLOR:Int=CCM_FIRST+1
 
 'SetBkMode() consts, etc.
-Const LWA_COLORKEY=1
-Const LWA_ALPHA=2
-Const LWA_BOTH=3
-Const TRANSPARENT=1
-Const OPAQUE = 2
+Const LWA_COLORKEY:Int=1
+Const LWA_ALPHA:Int=2
+Const LWA_BOTH:Int=3
+Const TRANSPARENT:Int=1
+Const OPAQUE:Int = 2
 
 'RedrawWindow() flags
-Const RDW_FRAME = $500
-Const RDW_UPDATENOW = $100
-Const RDW_INVALIDATE = $1
-Const RDW_NOCHILDREN = $40
-Const RDW_ALLCHILDREN = $80
-Const RDW_ERASE = $4
-Const RDW_ERASENOW = $200
+Const RDW_FRAME:Int = $500
+Const RDW_UPDATENOW:Int = $100
+Const RDW_INVALIDATE:Int = $1
+Const RDW_NOCHILDREN:Int = $40
+Const RDW_ALLCHILDREN:Int = $80
+Const RDW_ERASE:Int = $4
+Const RDW_ERASENOW:Int = $200
 
 'ScrollBar constants
-Const OBJID_HSCROLL = $FFFFFFFA
-Const OBJID_VSCROLL = $FFFFFFFB
-Const OBJID_CLIENT = $FFFFFFFC
+Const OBJID_HSCROLL:Int = $FFFFFFFA
+Const OBJID_VSCROLL:Int = $FFFFFFFB
+Const OBJID_CLIENT:Int = $FFFFFFFC
 
-Const EM_GETSCROLLPOS = WM_USER + 221
-Const EM_SETSCROLLPOS = WM_USER + 222
-Const EM_SETZOOM = WM_USER + 225
+Const EM_GETSCROLLPOS:Int = WM_USER + 221
+Const EM_SETSCROLLPOS:Int = WM_USER + 222
+Const EM_SETZOOM:Int = WM_USER + 225
 
 'GetDCEx Constants
-Const DCX_WINDOW = $1
-Const DCX_CACHE = $2
-Const DCX_NORESETATTRS = $4
-Const DCX_CLIPCHILDREN = $8
-Const DCX_CLIPSIBLINGS = $10
-Const DCX_PARENTCLIP = $20
-Const DCX_EXCLUDERGN = $40
-Const DCX_INTERSECTRGN = $80
-Const DCX_EXCLUDEUPDATE = $100
-Const DCX_INTERSECTUPDATE = $200
-Const DCX_LOCKWINDOWUPDATE = $400
-Const DCX_VALIDATE = $200000
-
-Const WM_THEMECHANGED = $31A
+Const DCX_WINDOW:Int = $1
+Const DCX_CACHE:Int = $2
+Const DCX_NORESETATTRS:Int = $4
+Const DCX_CLIPCHILDREN:Int = $8
+Const DCX_CLIPSIBLINGS:Int = $10
+Const DCX_PARENTCLIP:Int = $20
+Const DCX_EXCLUDERGN:Int = $40
+Const DCX_INTERSECTRGN:Int = $80
+Const DCX_EXCLUDEUPDATE:Int = $100
+Const DCX_INTERSECTUPDATE:Int = $200
+Const DCX_LOCKWINDOWUPDATE:Int = $400
+Const DCX_VALIDATE:Int = $200000
+
+Const WM_THEMECHANGED:Int = $31A
 
 'Icon Stuff
 
@@ -177,133 +177,133 @@ Const WM_THEMECHANGED = $31A
 
 'Treeview Consts
 
-Const TVM_FIRST = $1100
-Const TVS_EX_DOUBLEBUFFER = $4
-Const TVS_EX_FADEINOUTEXPANDOS = $40
-Const TVM_SETEXTENDEDSTYLE = TVM_FIRST + 44
+Const TVM_FIRST:Int = $1100
+Const TVS_EX_DOUBLEBUFFER:Int = $4
+Const TVS_EX_FADEINOUTEXPANDOS:Int = $40
+Const TVM_SETEXTENDEDSTYLE:Int = TVM_FIRST + 44
 
-Const TTN_GETDISPINFOW = -530
+Const TTN_GETDISPINFOW:Int = -530
 
 'System State Contstants
 
-Const STATE_SYSTEM_UNAVAILABLE = $00000001
-Const STATE_SYSTEM_SELECTED = $00000002
-Const STATE_SYSTEM_FOCUSED = $00000004
-Const STATE_SYSTEM_PRESSED = $00000008
-Const STATE_SYSTEM_CHECKED = $00000010
-Const STATE_SYSTEM_MIXED = $00000020
-Const STATE_SYSTEM_READONLY = $00000040
-Const STATE_SYSTEM_HOTTRACKED = $00000080
-Const STATE_SYSTEM_DEFAULT = $00000100
-Const STATE_SYSTEM_EXPANDED = $00000200
-Const STATE_SYSTEM_COLLAPSED = $00000400
-Const STATE_SYSTEM_BUSY = $00000800
-Const STATE_SYSTEM_FLOATING = $00001000
-Const STATE_SYSTEM_MARQUEED = $00002000
-Const STATE_SYSTEM_ANIMATED = $00004000
-Const STATE_SYSTEM_INVISIBLE = $00008000
-Const STATE_SYSTEM_OFFSCREEN = $00010000
-Const STATE_SYSTEM_SIZEABLE = $00020000
-Const STATE_SYSTEM_MOVEABLE = $00040000
-Const STATE_SYSTEM_SELFVOICING = $00080000
-Const STATE_SYSTEM_FOCUSABLE = $00100000
-Const STATE_SYSTEM_SELECTABLE = $00200000
-Const STATE_SYSTEM_LINKED = $00400000
-Const STATE_SYSTEM_TRAVERSED = $00800000
-Const STATE_SYSTEM_MULTISELECTABLE = $01000000
-Const STATE_SYSTEM_EXTSELECTABLE = $02000000
-Const STATE_SYSTEM_ALERT_LOW = $04000000
-Const STATE_SYSTEM_ALERT_MEDIUM = $08000000
-Const STATE_SYSTEM_ALERT_HIGH = $10000000
-Const STATE_SYSTEM_VALID = $1FFFFFFF
+Const STATE_SYSTEM_UNAVAILABLE:Int = $00000001
+Const STATE_SYSTEM_SELECTED:Int = $00000002
+Const STATE_SYSTEM_FOCUSED:Int = $00000004
+Const STATE_SYSTEM_PRESSED:Int = $00000008
+Const STATE_SYSTEM_CHECKED:Int = $00000010
+Const STATE_SYSTEM_MIXED:Int = $00000020
+Const STATE_SYSTEM_READONLY:Int = $00000040
+Const STATE_SYSTEM_HOTTRACKED:Int = $00000080
+Const STATE_SYSTEM_DEFAULT:Int = $00000100
+Const STATE_SYSTEM_EXPANDED:Int = $00000200
+Const STATE_SYSTEM_COLLAPSED:Int = $00000400
+Const STATE_SYSTEM_BUSY:Int = $00000800
+Const STATE_SYSTEM_FLOATING:Int = $00001000
+Const STATE_SYSTEM_MARQUEED:Int = $00002000
+Const STATE_SYSTEM_ANIMATED:Int = $00004000
+Const STATE_SYSTEM_INVISIBLE:Int = $00008000
+Const STATE_SYSTEM_OFFSCREEN:Int = $00010000
+Const STATE_SYSTEM_SIZEABLE:Int = $00020000
+Const STATE_SYSTEM_MOVEABLE:Int = $00040000
+Const STATE_SYSTEM_SELFVOICING:Int = $00080000
+Const STATE_SYSTEM_FOCUSABLE:Int = $00100000
+Const STATE_SYSTEM_SELECTABLE:Int = $00200000
+Const STATE_SYSTEM_LINKED:Int = $00400000
+Const STATE_SYSTEM_TRAVERSED:Int = $00800000
+Const STATE_SYSTEM_MULTISELECTABLE:Int = $01000000
+Const STATE_SYSTEM_EXTSELECTABLE:Int = $02000000
+Const STATE_SYSTEM_ALERT_LOW:Int = $04000000
+Const STATE_SYSTEM_ALERT_MEDIUM:Int = $08000000
+Const STATE_SYSTEM_ALERT_HIGH:Int = $10000000
+Const STATE_SYSTEM_VALID:Int = $1FFFFFFF
 
 
 'System Metrics
 
-Const SM_CXSCREEN = 0
-Const SM_CYSCREEN = 1
-Const SM_CXVSCROLL = 2
-Const SM_CYHSCROLL = 3
-Const SM_CYCAPTION = 4
-Const SM_CXBORDER = 5
-Const SM_CYBORDER = 6
-Const SM_CXDLGFRAME = 7
-Const SM_CYDLGFRAME = 8
-Const SM_CYVTHUMB = 9
-Const SM_CXHTHUMB = 10
-Const SM_CXICON = 11
-Const SM_CYICON = 12
-Const SM_CXCURSOR = 13
-Const SM_CYCURSOR = 14
-Const SM_CYMENU = 15
-Const SM_CXFULLSCREEN = 16
-Const SM_CYFULLSCREEN = 17
-Const SM_CYKANJIWINDOW = 18
-Const SM_MOUSEPRESENT = 19
-Const SM_CYVSCROLL = 20
-Const SM_CXHSCROLL = 21
-Const SM_DEBUG = 22
-Const SM_SWAPBUTTON = 23
-Const SM_RESERVED1 = 24
-Const SM_RESERVED2 = 25
-Const SM_RESERVED3 = 26
-Const SM_RESERVED4 = 27
-Const SM_CXMIN = 28
-Const SM_CYMIN = 29
-Const SM_CXSIZE = 30
-Const SM_CYSIZE = 31
-Const SM_CXFRAME = 32
-Const SM_CYFRAME = 33
-Const SM_CXMINTRACK = 34
-Const SM_CYMINTRACK = 35
-Const SM_CXDOUBLECLK = 36
-Const SM_CYDOUBLECLK = 37
-Const SM_CXICONSPACING = 38
-Const SM_CYICONSPACING = 39
-Const SM_MENUDROPALIGNMENT = 40
-Const SM_PENWINDOWS = 41
-Const SM_DBCSENABLED = 42
-Const SM_CMOUSEBUTTONS = 43
-Const SM_CXFIXEDFRAME = SM_CXDLGFRAME
-Const SM_CYFIXEDFRAME = SM_CYDLGFRAME
-Const SM_CXSIZEFRAME = SM_CXFRAME
-Const SM_CYSIZEFRAME = SM_CYFRAME
-Const SM_SECURE = 44
-Const SM_CXEDGE = 45
-Const SM_CYEDGE = 46
-Const SM_CXMINSPACING = 47
-Const SM_CYMINSPACING = 48
-Const SM_CXSMICON = 49
-Const SM_CYSMICON = 50
-Const SM_CYSMCAPTION = 51
-Const SM_CXSMSIZE = 52
-Const SM_CYSMSIZE = 53
-Const SM_CXMENUSIZE = 54
-Const SM_CYMENUSIZE = 55
-Const SM_ARRANGE = 56
-Const SM_CXMINIMIZED = 57
-Const SM_CYMINIMIZED = 58
-Const SM_CXMAXTRACK = 59
-Const SM_CYMAXTRACK = 60
-Const SM_CXMAXIMIZED = 61
-Const SM_CYMAXIMIZED = 62
-Const SM_NETWORK = 63
-Const SM_CLEANBOOT = 67
-Const SM_CXDRAG = 68
-Const SM_CYDRAG = 69
-Const SM_SHOWSOUNDS = 70
-Const SM_CXMENUCHECK = 71
-Const SM_CYMENUCHECK = 72
-Const SM_SLOWMACHINE = 73
-Const SM_MIDEASTENABLED = 74
-Const SM_MOUSEWHEELPRESENT = 75
-Const SM_XVIRTUALSCREEN = 76
-Const SM_YVIRTUALSCREEN = 77
-Const SM_CXVIRTUALSCREEN = 78
-Const SM_CYVIRTUALSCREEN = 79
-Const SM_CMONITORS = 80
-Const SM_SAMEDISPLAYFORMAT = 81
-Const SM_CMETRICS = 83
+Const SM_CXSCREEN:Int = 0
+Const SM_CYSCREEN:Int = 1
+Const SM_CXVSCROLL:Int = 2
+Const SM_CYHSCROLL:Int = 3
+Const SM_CYCAPTION:Int = 4
+Const SM_CXBORDER:Int = 5
+Const SM_CYBORDER:Int = 6
+Const SM_CXDLGFRAME:Int = 7
+Const SM_CYDLGFRAME:Int = 8
+Const SM_CYVTHUMB:Int = 9
+Const SM_CXHTHUMB:Int = 10
+Const SM_CXICON:Int = 11
+Const SM_CYICON:Int = 12
+Const SM_CXCURSOR:Int = 13
+Const SM_CYCURSOR:Int = 14
+Const SM_CYMENU:Int = 15
+Const SM_CXFULLSCREEN:Int = 16
+Const SM_CYFULLSCREEN:Int = 17
+Const SM_CYKANJIWINDOW:Int = 18
+Const SM_MOUSEPRESENT:Int = 19
+Const SM_CYVSCROLL:Int = 20
+Const SM_CXHSCROLL:Int = 21
+Const SM_DEBUG:Int = 22
+Const SM_SWAPBUTTON:Int = 23
+Const SM_RESERVED1:Int = 24
+Const SM_RESERVED2:Int = 25
+Const SM_RESERVED3:Int = 26
+Const SM_RESERVED4:Int = 27
+Const SM_CXMIN:Int = 28
+Const SM_CYMIN:Int = 29
+Const SM_CXSIZE:Int = 30
+Const SM_CYSIZE:Int = 31
+Const SM_CXFRAME:Int = 32
+Const SM_CYFRAME:Int = 33
+Const SM_CXMINTRACK:Int = 34
+Const SM_CYMINTRACK:Int = 35
+Const SM_CXDOUBLECLK:Int = 36
+Const SM_CYDOUBLECLK:Int = 37
+Const SM_CXICONSPACING:Int = 38
+Const SM_CYICONSPACING:Int = 39
+Const SM_MENUDROPALIGNMENT:Int = 40
+Const SM_PENWINDOWS:Int = 41
+Const SM_DBCSENABLED:Int = 42
+Const SM_CMOUSEBUTTONS:Int = 43
+Const SM_CXFIXEDFRAME:Int = SM_CXDLGFRAME
+Const SM_CYFIXEDFRAME:Int = SM_CYDLGFRAME
+Const SM_CXSIZEFRAME:Int = SM_CXFRAME
+Const SM_CYSIZEFRAME:Int = SM_CYFRAME
+Const SM_SECURE:Int = 44
+Const SM_CXEDGE:Int = 45
+Const SM_CYEDGE:Int = 46
+Const SM_CXMINSPACING:Int = 47
+Const SM_CYMINSPACING:Int = 48
+Const SM_CXSMICON:Int = 49
+Const SM_CYSMICON:Int = 50
+Const SM_CYSMCAPTION:Int = 51
+Const SM_CXSMSIZE:Int = 52
+Const SM_CYSMSIZE:Int = 53
+Const SM_CXMENUSIZE:Int = 54
+Const SM_CYMENUSIZE:Int = 55
+Const SM_ARRANGE:Int = 56
+Const SM_CXMINIMIZED:Int = 57
+Const SM_CYMINIMIZED:Int = 58
+Const SM_CXMAXTRACK:Int = 59
+Const SM_CYMAXTRACK:Int = 60
+Const SM_CXMAXIMIZED:Int = 61
+Const SM_CYMAXIMIZED:Int = 62
+Const SM_NETWORK:Int = 63
+Const SM_CLEANBOOT:Int = 67
+Const SM_CXDRAG:Int = 68
+Const SM_CYDRAG:Int = 69
+Const SM_SHOWSOUNDS:Int = 70
+Const SM_CXMENUCHECK:Int = 71
+Const SM_CYMENUCHECK:Int = 72
+Const SM_SLOWMACHINE:Int = 73
+Const SM_MIDEASTENABLED:Int = 74
+Const SM_MOUSEWHEELPRESENT:Int = 75
+Const SM_XVIRTUALSCREEN:Int = 76
+Const SM_YVIRTUALSCREEN:Int = 77
+Const SM_CXVIRTUALSCREEN:Int = 78
+Const SM_CYVIRTUALSCREEN:Int = 79
+Const SM_CMONITORS:Int = 80
+Const SM_SAMEDISPLAYFORMAT:Int = 81
+Const SM_CMETRICS:Int = 83
 
 
 
@@ -311,9 +311,9 @@ Const SM_CMETRICS = 83
 Extern "Win32"
 	
 '		Function GetCharABCWidthsW(dc,firstcharcode,lastcharcode,widths:Int Ptr Ptr)
-	Function GetCharABCWidthsW(dc:Byte Ptr,firstcharcode:UInt,lastcharcode:UInt,widths:Int Ptr)="WINBOOL __stdcall GetCharABCWidthsW(HDC ,UINT ,UINT ,LPABC )!"
+	Function GetCharABCWidthsW:Int(dc:Byte Ptr,firstcharcode:UInt,lastcharcode:UInt,widths:Int Ptr)="WINBOOL __stdcall GetCharABCWidthsW(HDC ,UINT ,UINT ,LPABC )!"
 
-	Function GetCharWidth32W(hdc:Byte Ptr,First:UInt,last:UInt,widths:Int Ptr)="WINBOOL __stdcall GetCharWidth32W(HDC ,UINT ,UINT ,LPINT )!"
+	Function GetCharWidth32W:Int(hdc:Byte Ptr,First:UInt,last:UInt,widths:Int Ptr)="WINBOOL __stdcall GetCharWidth32W(HDC ,UINT ,UINT ,LPINT )!"
 	
 	'BRL.System
 	'Function _TrackMouseEvent( trackmouseeventstrunct:Byte Ptr )
@@ -322,86 +322,86 @@ Extern "Win32"
 	'Function ImageList_Add(himl:Byte Ptr,hbmImage:Byte Ptr,crMask)
 	'Function ImageList_Destroy( hImageList:Byte Ptr )
 	'Function ImageList_GetImageCount( hImageList:Byte Ptr )
-	Function CreateDIBSection(hdc:Byte Ptr,bminfo:Byte Ptr,iUsage:UInt,bits:Byte Ptr Ptr,hSection:Byte Ptr,dwOffset)="HBITMAP __stdcall CreateDIBSection(HDC ,CONST BITMAPINFO *,UINT ,VOID **,HANDLE ,DWORD )!"
+	Function CreateDIBSection:Byte Ptr(hdc:Byte Ptr,bminfo:Byte Ptr,iUsage:UInt,bits:Byte Ptr Ptr,hSection:Byte Ptr,dwOffset:Int)="HBITMAP __stdcall CreateDIBSection(HDC ,CONST BITMAPINFO *,UINT ,VOID **,HANDLE ,DWORD )!"
 	Function SendMessageSetImageList(hwnd:Byte Ptr, _buttonImageList:Byte Ptr Ptr, _imageAlign:Int)
 	
 	'WM_CTLCOLORXXXX handling
-	Function SetBkMode( hdc:Byte Ptr, Mode)="int __stdcall SetBkMode(HDC ,int )!"
-	Function SetBkColor( hdc:Byte Ptr, crColor )="COLORREF __stdcall SetBkColor(HDC ,COLORREF )!"
-	Function GetAncestor_:Byte Ptr( hwnd:Byte Ptr, gaFlags ) = "HWND __stdcall GetAncestor(HWND ,UINT )!"
-	Function SetTextColor_( hdc:Byte Ptr, crColor ) = "COLORREF __stdcall SetTextColor(HDC ,COLORREF )!"
+	Function SetBkMode:Int( hdc:Byte Ptr, Mode:Int)="int __stdcall SetBkMode(HDC ,int )!"
+	Function SetBkColor:Int( hdc:Byte Ptr, crColor:Int )="COLORREF __stdcall SetBkColor(HDC ,COLORREF )!"
+	Function GetAncestor_:Byte Ptr( hwnd:Byte Ptr, gaFlags:Int ) = "HWND __stdcall GetAncestor(HWND ,UINT )!"
+	Function SetTextColor_:Int( hdc:Byte Ptr, crColor:Int ) = "COLORREF __stdcall SetTextColor(HDC ,COLORREF )!"
 	
 	'Drawing Contexts
-	Function GetObjectW( hgdiobj:Byte Ptr, cbBuffer, lpvObject:Byte Ptr )="int __stdcall GetObjectW(HANDLE ,int ,LPVOID )!"
-	Function SaveDC( hdc:Byte Ptr )="int __stdcall SaveDC(HDC )!"
-	Function RestoreDC( hdc:Byte Ptr, savestate )="WINBOOL __stdcall RestoreDC(HDC ,int )!"
+	Function GetObjectW:Int( hgdiobj:Byte Ptr, cbBuffer:Int, lpvObject:Byte Ptr )="int __stdcall GetObjectW(HANDLE ,int ,LPVOID )!"
+	Function SaveDC:Int( hdc:Byte Ptr )="int __stdcall SaveDC(HDC )!"
+	Function RestoreDC:Int( hdc:Byte Ptr, savestate:Int )="WINBOOL __stdcall RestoreDC(HDC ,int )!"
 	Function CreatePatternBrush:Byte Ptr( bitmap:Byte Ptr )="HBRUSH __stdcall CreatePatternBrush(HBITMAP )!"
-	Function GetDCEx:Byte Ptr( hwnd:Byte Ptr, hRgn:Byte Ptr, flags )="HDC __stdcall GetDCEx(HWND ,HRGN ,DWORD )!"
-	Function ReleaseDC( hwnd:Byte Ptr, hdc:Byte Ptr )="int __stdcall ReleaseDC(HWND ,HDC )!"
-	Function GetDCOrgEx( hdc:Byte Ptr, point:Int Ptr )="WINBOOL __stdcall GetDCOrgEx(HDC ,LPPOINT )!"
-	Function GetWindowOrgEx( hdc:Byte Ptr, point:Int Ptr )="WINBOOL __stdcall GetWindowOrgEx(HDC ,LPPOINT )!"
-	Function GetWindowExtEx( hdc:Byte Ptr, size:Int Ptr )="WINBOOL __stdcall GetWindowExtEx(HDC ,LPSIZE )!"
+	Function GetDCEx:Byte Ptr( hwnd:Byte Ptr, hRgn:Byte Ptr, flags:Int )="HDC __stdcall GetDCEx(HWND ,HRGN ,DWORD )!"
+	Function ReleaseDC:Int( hwnd:Byte Ptr, hdc:Byte Ptr )="int __stdcall ReleaseDC(HWND ,HDC )!"
+	Function GetDCOrgEx:Int( hdc:Byte Ptr, point:Int Ptr )="WINBOOL __stdcall GetDCOrgEx(HDC ,LPPOINT )!"
+	Function GetWindowOrgEx:Int( hdc:Byte Ptr, point:Int Ptr )="WINBOOL __stdcall GetWindowOrgEx(HDC ,LPPOINT )!"
+	Function GetWindowExtEx:Int( hdc:Byte Ptr, size:Int Ptr )="WINBOOL __stdcall GetWindowExtEx(HDC ,LPSIZE )!"
 
 	'Drawing
-	Function DrawTextW( hdc:Byte Ptr, lpString$w, nCount, lpRect:Int Ptr, uFormat )="int __stdcall DrawTextW(HDC ,LPCWSTR ,int ,LPRECT ,UINT )!"
-	Function DrawFocusRect( hdc:Byte Ptr, lprc:Int Ptr )="WINBOOL __stdcall DrawFocusRect(HDC ,CONST RECT *)!"
-	Function DrawFrameControl( hdc:Byte Ptr, lprc:Int Ptr, uType%, uState% )="WINBOOL __stdcall DrawFrameControl(HDC,LPRECT,UINT,UINT)!"
-	Function ExtTextOutW( hdc:Byte Ptr, x, y, fuOptions, lpRc:Int Ptr, lpString$w, cbCount, lpDx:Int Ptr )="WINBOOL __stdcall ExtTextOutW(HDC ,int ,int ,UINT ,CONST RECT *,LPCWSTR ,UINT ,CONST INT *)!"
+	Function DrawTextW:Int( hdc:Byte Ptr, lpString$w, nCount:Int, lpRect:Int Ptr, uFormat:Int )="int __stdcall DrawTextW(HDC ,LPCWSTR ,int ,LPRECT ,UINT )!"
+	Function DrawFocusRect:Int( hdc:Byte Ptr, lprc:Int Ptr )="WINBOOL __stdcall DrawFocusRect(HDC ,CONST RECT *)!"
+	Function DrawFrameControl:Int( hdc:Byte Ptr, lprc:Int Ptr, uType%, uState% )="WINBOOL __stdcall DrawFrameControl(HDC,LPRECT,UINT,UINT)!"
+	Function ExtTextOutW:Int( hdc:Byte Ptr, x:Int, y:Int, fuOptions:UInt, lpRc:Int Ptr, lpString$w, cbCount:Int, lpDx:Int Ptr )="WINBOOL __stdcall ExtTextOutW(HDC ,int ,int ,UINT ,CONST RECT *,LPCWSTR ,UINT ,CONST INT *)!"
 	
 	'Resizing
-	Function BeginDeferWindowPos:Byte Ptr( nCount )="HDWP __stdcall BeginDeferWindowPos(int )!"
-	Function EndDeferWindowPos( hdwpStruct:Byte Ptr )="WINBOOL __stdcall EndDeferWindowPos(HDWP )!"
-	Function DeferWindowPos:Byte Ptr( hWinPosInfo:Byte Ptr, hWnd:Byte Ptr, hWndInsertAfter:Byte Ptr, x, y, cx, cy, uFlags)="HDWP __stdcall DeferWindowPos(HDWP ,HWND ,HWND ,int ,int ,int ,int ,UINT )!"
+	Function BeginDeferWindowPos:Byte Ptr( nCount:Int )="HDWP __stdcall BeginDeferWindowPos(int )!"
+	Function EndDeferWindowPos:Int( hdwpStruct:Byte Ptr )="WINBOOL __stdcall EndDeferWindowPos(HDWP )!"
+	Function DeferWindowPos:Byte Ptr( hWinPosInfo:Byte Ptr, hWnd:Byte Ptr, hWndInsertAfter:Byte Ptr, x:Int, y:Int, cx:Int, cy:Int, uFlags:UInt)="HDWP __stdcall DeferWindowPos(HDWP ,HWND ,HWND ,int ,int ,int ,int ,UINT )!"
 	
 	'Position and regions
-	Function IsRectEmpty( rect:Int Ptr )="WINBOOL __stdcall IsRectEmpty(CONST RECT *)!"
-	Function GetClipBox( hdc:Byte Ptr, rect:Int Ptr)="int __stdcall GetClipBox(HDC ,LPRECT )!"
-	Function GetUpdateRect( hwnd:Byte Ptr, rect:Int Ptr, pErase )="WINBOOL __stdcall GetUpdateRect(HWND ,LPRECT ,WINBOOL )!"
-	Function ScreenToClient( hwnd:Byte Ptr, rect:Int Ptr )="WINBOOL __stdcall ScreenToClient(HWND ,LPPOINT )!"
-	Function RedrawWindow(hwnd:Byte Ptr, lprcUpdate:Int Ptr, hrgnUpdate:Int Ptr, flags )="WINBOOL __stdcall RedrawWindow(HWND ,CONST RECT *,HRGN ,UINT )!"
-	Function FrameRect( hdc:Byte Ptr, rect:Int Ptr, hBrush:Byte Ptr )="int __stdcall FrameRect(HDC ,CONST RECT *,HBRUSH )!"
-	Function InflateRect( rect:Int Ptr, dx, dy )="WINBOOL __stdcall InflateRect(LPRECT ,int ,int )!"
-	Function OffsetRect( rect:Int Ptr, dx, dy )="WINBOOL __stdcall OffsetRect(LPRECT ,int ,int )!"
-	Function IntersectRect( lprcDest:Int Ptr, lprcSrc1:Int Ptr, lprcSrc2:Int Ptr )="WINBOOL __stdcall IntersectRect(LPRECT ,CONST RECT *,CONST RECT *)!"
-	Function CopyRect( dest:Int Ptr, src:Int Ptr )="WINBOOL __stdcall CopyRect(LPRECT ,CONST RECT *)!"
-	Function GDISetRect( rect:Int Ptr, xLeft, yTop, xRight, yBottom ) = "WINBOOL __stdcall SetRect(LPRECT ,int ,int ,int ,int )!"
+	Function IsRectEmpty:Int( rect:Int Ptr )="WINBOOL __stdcall IsRectEmpty(CONST RECT *)!"
+	Function GetClipBox:Int( hdc:Byte Ptr, rect:Int Ptr)="int __stdcall GetClipBox(HDC ,LPRECT )!"
+	Function GetUpdateRect:Int( hwnd:Byte Ptr, rect:Int Ptr, pErase:Int )="WINBOOL __stdcall GetUpdateRect(HWND ,LPRECT ,WINBOOL )!"
+	Function ScreenToClient:Int( hwnd:Byte Ptr, rect:Int Ptr )="WINBOOL __stdcall ScreenToClient(HWND ,LPPOINT )!"
+	Function RedrawWindow:Int(hwnd:Byte Ptr, lprcUpdate:Int Ptr, hrgnUpdate:Int Ptr, flags:UInt )="WINBOOL __stdcall RedrawWindow(HWND ,CONST RECT *,HRGN ,UINT )!"
+	Function FrameRect:Int( hdc:Byte Ptr, rect:Int Ptr, hBrush:Byte Ptr )="int __stdcall FrameRect(HDC ,CONST RECT *,HBRUSH )!"
+	Function InflateRect:Int( rect:Int Ptr, dx:Int, dy:Int )="WINBOOL __stdcall InflateRect(LPRECT ,int ,int )!"
+	Function OffsetRect:Int( rect:Int Ptr, dx:Int, dy:Int )="WINBOOL __stdcall OffsetRect(LPRECT ,int ,int )!"
+	Function IntersectRect:Int( lprcDest:Int Ptr, lprcSrc1:Int Ptr, lprcSrc2:Int Ptr )="WINBOOL __stdcall IntersectRect(LPRECT ,CONST RECT *,CONST RECT *)!"
+	Function CopyRect:Int( dest:Int Ptr, src:Int Ptr )="WINBOOL __stdcall CopyRect(LPRECT ,CONST RECT *)!"
+	Function GDISetRect:Int( rect:Int Ptr, xLeft:Int, yTop:Int, xRight:Int, yBottom:Int) = "WINBOOL __stdcall SetRect(LPRECT ,int ,int ,int ,int )!"
 	
 	'Menu Stuff
 	Function GetMenu_:Byte Ptr( hwnd:Byte Ptr ) = "HMENU __stdcall GetMenu(HWND )!"
-	Function SetMenuItemBitmaps( hMenu:Byte Ptr, uPosition, uFlags, hBitmapUnchecked:Byte Ptr, hBitmapChecked:Byte Ptr )="WINBOOL __stdcall SetMenuItemBitmaps(HMENU ,UINT ,UINT ,HBITMAP ,HBITMAP )!"
-	Function SetMenuInfo( hMenu:Byte Ptr, lpcMenuInfo:Byte Ptr )="WINBOOL __stdcall SetMenuInfo(HMENU,LPCMENUINFO)!"
-	Function GetSysColor( hColor )="DWORD __stdcall GetSysColor(int )!"
+	Function SetMenuItemBitmaps:Int( hMenu:Byte Ptr, uPosition:UInt, uFlags:UInt, hBitmapUnchecked:Byte Ptr, hBitmapChecked:Byte Ptr )="WINBOOL __stdcall SetMenuItemBitmaps(HMENU ,UINT ,UINT ,HBITMAP ,HBITMAP )!"
+	Function SetMenuInfo:Int( hMenu:Byte Ptr, lpcMenuInfo:Byte Ptr )="WINBOOL __stdcall SetMenuInfo(HMENU,LPCMENUINFO)!"
+	Function GetSysColor:Int( hColor:Int )="DWORD __stdcall GetSysColor(int )!"
 	
 	'Scroll-bar fixes
-	Function GetSystemMetrics( metric )="int __stdcall GetSystemMetrics(int )!"
-	Function GetScrollBarInfo( hwnd:Byte Ptr, idObject, pScrollBarInfo:Int Ptr )="WINBOOL __stdcall GetScrollBarInfo(HWND ,LONG ,PSCROLLBARINFO )!"
+	Function GetSystemMetrics:Int( metric:Int )="int __stdcall GetSystemMetrics(int )!"
+	Function GetScrollBarInfo:Int( hwnd:Byte Ptr, idObject:Int, pScrollBarInfo:Int Ptr )="WINBOOL __stdcall GetScrollBarInfo(HWND ,LONG ,PSCROLLBARINFO )!"
 	
 	'Gadget text retrieval
-	Function GetWindowTextLengthW( hwnd:Byte Ptr )="int __stdcall GetWindowTextLengthW(HWND )!"
+	Function GetWindowTextLengthW:Int( hwnd:Byte Ptr )="int __stdcall GetWindowTextLengthW(HWND )!"
 	
 	'Missing misc. system functions
 	Function GetCursor:Byte Ptr()="HCURSOR __stdcall GetCursor()!"
-	Function FreeLibrary( hLibrary:Byte Ptr )="WINBOOL __stdcall FreeLibrary (HMODULE )!"
+	Function FreeLibrary:Int( hLibrary:Byte Ptr )="WINBOOL __stdcall FreeLibrary (HMODULE )!"
 	
 	'Printing functions for text-area GadgetPrint()
-	Function PrintDlg( printDialogStruct:Byte Ptr ) = "WINBOOL __stdcall PrintDlgW(LPPRINTDLGW)!"
-	Function StartDocW( hdc:Byte Ptr, pDocStruct:Byte Ptr )="int __stdcall StartDocW(HDC ,CONST DOCINFOW *)!"
-	Function EndDoc( hdc:Byte Ptr )="int __stdcall EndDoc(HDC )!"
-	Function AbortDoc( hdc:Byte Ptr )="int __stdcall AbortDoc(HDC )!"
-	Function StartPage( hdc:Byte Ptr )="int __stdcall StartPage(HDC )!"
-	Function EndPage( hdc:Byte Ptr )="int __stdcall EndPage(HDC )!"
-	Function SetMapMode( hdc:Byte Ptr, pMode )="int __stdcall SetMapMode(HDC ,int )!"
-	Function PrintWindow( hwnd:Byte Ptr, hdc:Byte Ptr, flags )="WINBOOL __stdcall PrintWindow(HWND ,HDC ,UINT )!"
+	Function PrintDlg:Int( printDialogStruct:Byte Ptr ) = "WINBOOL __stdcall PrintDlgW(LPPRINTDLGW)!"
+	Function StartDocW:Int( hdc:Byte Ptr, pDocStruct:Byte Ptr )="int __stdcall StartDocW(HDC ,CONST DOCINFOW *)!"
+	Function EndDoc:Int( hdc:Byte Ptr )="int __stdcall EndDoc(HDC )!"
+	Function AbortDoc:Int( hdc:Byte Ptr )="int __stdcall AbortDoc(HDC )!"
+	Function StartPage:Int( hdc:Byte Ptr )="int __stdcall StartPage(HDC )!"
+	Function EndPage:Int( hdc:Byte Ptr )="int __stdcall EndPage(HDC )!"
+	Function SetMapMode:Int( hdc:Byte Ptr, pMode:Int )="int __stdcall SetMapMode(HDC ,int )!"
+	Function PrintWindow:Int( hwnd:Byte Ptr, hdc:Byte Ptr, flags:UInt )="WINBOOL __stdcall PrintWindow(HWND ,HDC ,UINT )!"
 
 	'Icons
 	Function CreateIconIndirect:Byte Ptr(IconInf:Byte Ptr)="HICON __stdcall CreateIconIndirect(PICONINFO )!"
-	Function CopyImage:Byte Ptr(hImage:Byte Ptr , uType , xDesired , yDesired , flags)="HANDLE __stdcall CopyImage(HANDLE ,UINT ,int ,int ,UINT )!"
-	Function DestroyIcon(hIcon:Byte Ptr)="WINBOOL __stdcall DestroyIcon(HICON )!"
+	Function CopyImage:Byte Ptr(hImage:Byte Ptr , uType:UInt , xDesired:Int , yDesired:Int , flags:UInt)="HANDLE __stdcall CopyImage(HANDLE ,UINT ,int ,int ,UINT )!"
+	Function DestroyIcon:Int(hIcon:Byte Ptr)="WINBOOL __stdcall DestroyIcon(HICON )!"
 
 EndExtern
 
 Extern
-	Function AlphaBlend_(hdc:Byte Ptr,dx,dy,dw,dh,hdc2:Byte Ptr,src,sry,srcw,srch,rop)="AlphaBlendArgs"
+	Function AlphaBlend_(hdc:Byte Ptr,dx:Int,dy:Int,dw:Int,dh:Int,hdc2:Byte Ptr,src:Int,sry:Int,srcw:Int,srch:Int,rop:Int)="AlphaBlendArgs"
 End Extern
 
 Extern
@@ -529,65 +529,65 @@ Type DRAWITEMSTRUCT
 EndType
 
 'WM_DRAWITEM States
-Const ODS_SELECTED = $1
-Const ODS_GRAYED = $2
-Const ODS_DISABLED = $4
-Const ODS_CHECKED = $8
-Const ODS_FOCUS = $10
-Const ODS_HOTLIGHT = $40
-Const ODS_INACTIVE = $80
-Const ODS_NOACCEL = $100
-Const ODS_NOFOCUSRECT = $200
+Const ODS_SELECTED:Int = $1
+Const ODS_GRAYED:Int = $2
+Const ODS_DISABLED:Int = $4
+Const ODS_CHECKED:Int = $8
+Const ODS_FOCUS:Int = $10
+Const ODS_HOTLIGHT:Int = $40
+Const ODS_INACTIVE:Int = $80
+Const ODS_NOACCEL:Int = $100
+Const ODS_NOFOCUSRECT:Int = $200
 
 'DrawThemeBackground Button States
-Const BP_PUSHBUTTON = 1
-Const PBS_NORMAL = 1
-Const PBS_HOT = 2
-Const PBS_PRESSED = 3
-Const PBS_DISABLED = 4
-Const PBS_DEFAULTED = 5
+Const BP_PUSHBUTTON:Int = 1
+Const PBS_NORMAL:Int = 1
+Const PBS_HOT:Int = 2
+Const PBS_PRESSED:Int = 3
+Const PBS_DISABLED:Int = 4
+Const PBS_DEFAULTED:Int = 5
 
 'DrawFrameControl Constants
-Const DFC_BUTTON = $4
-Const DFCS_BUTTONPUSH = $10
-Const DFCS_INACTIVE = $100
-Const DFCS_PUSHED = $200
-Const DFCS_CHECKED = $400
-Const DFCS_TRANSPARENT = $800
-Const DFCS_HOT = $1000
-Const DFCS_ADJUSTRECT = $2000
-Const DFCS_FLAT = $4000
-Const DFCS_MONO = $8000
+Const DFC_BUTTON:Int = $4
+Const DFCS_BUTTONPUSH:Int = $10
+Const DFCS_INACTIVE:Int = $100
+Const DFCS_PUSHED:Int = $200
+Const DFCS_CHECKED:Int = $400
+Const DFCS_TRANSPARENT:Int = $800
+Const DFCS_HOT:Int = $1000
+Const DFCS_ADJUSTRECT:Int = $2000
+Const DFCS_FLAT:Int = $4000
+Const DFCS_MONO:Int = $8000
 
 'DrawText Constants
-Const DT_BOTTOM= $8
-Const DT_CALCRECT= $400
-Const DT_CENTER= $1
-Const DT_EDITCONTROL= $2000
-Const DT_END_ELLIPSIS= $8000
-Const DT_EXPANDTABS = $40
-Const DT_EXTERNALLEADING = $200
-Const DT_HIDEPREFIX = $100000
-Const DT_INTERNAL = $1000
-Const DT_LEFT = $0
-Const DT_MODIFYSTRING = $10000
-Const DT_NOCLIP = $100
-Const DT_NOFULLWIDTHCHARBREAK = $80000
-Const DT_NOPREFIX = $800
-Const DT_NOT_SPECIFIC = $50000
-Const DT_PATH_ELLIPSIS = $4000
-Const DT_PREFIXONLY = $200000
-Const DT_RIGHT = $2
-Const DT_RTLREADING = $20000
-Const DT_SINGLELINE = $20
-Const DT_TABSTOP = $80
-Const DT_TOP = $0
-Const DT_VCENTER = $4
-Const DT_WORD_ELLIPSIS = $40000
-Const DT_WORDBREAK = $10
+Const DT_BOTTOM:Int = $8
+Const DT_CALCRECT:Int = $400
+Const DT_CENTER:Int = $1
+Const DT_EDITCONTROL:Int = $2000
+Const DT_END_ELLIPSIS:Int = $8000
+Const DT_EXPANDTABS:Int = $40
+Const DT_EXTERNALLEADING:Int = $200
+Const DT_HIDEPREFIX:Int = $100000
+Const DT_INTERNAL:Int = $1000
+Const DT_LEFT:Int = $0
+Const DT_MODIFYSTRING:Int = $10000
+Const DT_NOCLIP:Int = $100
+Const DT_NOFULLWIDTHCHARBREAK:Int = $80000
+Const DT_NOPREFIX:Int = $800
+Const DT_NOT_SPECIFIC:Int = $50000
+Const DT_PATH_ELLIPSIS:Int = $4000
+Const DT_PREFIXONLY:Int = $200000
+Const DT_RIGHT:Int = $2
+Const DT_RTLREADING:Int = $20000
+Const DT_SINGLELINE:Int = $20
+Const DT_TABSTOP:Int = $80
+Const DT_TOP:Int = $0
+Const DT_VCENTER:Int = $4
+Const DT_WORD_ELLIPSIS:Int = $40000
+Const DT_WORDBREAK:Int = $10
 
 'TextArea Gadget Printing
-Const MM_TEXT = 1
+Const MM_TEXT:Int = 1
 
 Extern
 	Function bmx_win32_NONCLIENTMETRICSW_new:Byte Ptr()

+ 16 - 8
win32maxguiex.mod/win32maxguiex.bmx

@@ -558,9 +558,9 @@ Type TWindowsGUIDriver Extends TMaxGUIDriver
 				owner = owner.source
 			Wend
 		EndIf
-		Local tmpResult% = bbSystemEmitOSEvent( hwnd, msg, wp, lp, owner )
+		bbSystemEmitOSEvent( hwnd, msg, wp, lp, owner )
 		intEmitOSEvent:-1
-		Return tmpResult
+		Return 0
 	EndFunction
 
 	Function CheckCommonControlVersion()	'Returns True if supports alpha/themes etc. or False if not.
@@ -855,7 +855,7 @@ Type TWindowsFont Extends TGuiFont
 		name = String.FromWString( pLogFont.lfFaceName() )
 		
 		If handle Then DeleteObject handle
-		handle = CreateFontIndirectW( pLogFont )
+		handle = CreateFontIndirectW( pLogFont.fontPtr )
 		
 		Return Self
 		
@@ -864,7 +864,7 @@ Type TWindowsFont Extends TGuiFont
 	Method LoadFromHandle:TWindowsFont(hfont:Byte Ptr)
 		
 		Local tmpLogFont:LOGFONTW = New LOGFONTW
-		GetObjectW( hfont, LOGFONTW.Size(), tmpLogFont )
+		GetObjectW( hfont, LOGFONTW.Size(), tmpLogFont.fontPtr )
 		Return LoadFromLogFont( tmpLogFont )
 		
 	EndMethod
@@ -1471,7 +1471,7 @@ Type TWindowsGadget Extends TGadget
 		If parent And GetParent_(hwnd) = parent.Query(QUERY_HWND_CLIENT) And TWindowsGadget(parent).hdwpStruct Then
 			Local tmpFlags = SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOACTIVATE' | SWP_NOCOPYBITS
 			If Not _resizeRedraw Then tmpFlags:| SWP_NOREDRAW
-			TWindowsGadget(parent).hdwpStruct = DeferWindowPos( TWindowsGadget(parent).hdwpStruct, hwnd, Null, xpos, ypos, width, height, tmpFlags )
+			TWindowsGadget(parent).hdwpStruct = DeferWindowPos( TWindowsGadget(parent).hdwpStruct, hwnd, Null, xpos, ypos, width, height, UInt(tmpFlags) )
 		Else
 			MoveWindow( hwnd, xpos, ypos, width, height, _resizeRedraw )
 			HasResized()
@@ -2440,7 +2440,7 @@ Type TWindowsMenu Extends TGadget
 	Field	_modifier
 	Field	_shortcut$
 	Field	_hotkey:THotKey
-	Field	_key = SetNewKey()
+	Field	_key:UInt = SetNewKey()
 	Field _iconBitmap:Byte Ptr
 	
 	Global iteminfo:MENUITEMINFOW
@@ -2864,7 +2864,7 @@ Type TWindowsListBox Extends TWindowsGadget
 					tmpTipString = tmpTipString[..Min(tmpTipString.length,tmpMaxCharCount)]
 					
 					Local tmpBufferMem:Short Ptr = tmpTipString.ToWString()
-					MemCopy tmpTipOutput, tmpBufferMem, (tmpTipString.length+1) * 2
+					MemCopy tmpTipOutput, tmpBufferMem, Size_T((tmpTipString.length+1) * 2)
 					MemFree tmpBufferMem
 					
 				EndIf
@@ -3668,6 +3668,7 @@ Type TWindowsPanel Extends TWindowsGadget
 	Field _bitmapwidth,_bitmapheight,_bitmapflags
 	Field _canvas:TGraphics
 	Field _hasalpha
+	Field _generatesPaintEvents:Int
 	
 	Method Create:TWindowsGadget(group:TGadget,style,Text$="")	
 		Local	xstyle,wstyle,hotkey
@@ -3751,6 +3752,7 @@ Type TWindowsPanel Extends TWindowsGadget
 			Case WM_ERASEBKGND
 				
 				If _type = PANELCANVAS Then Return 1
+				If _generatesPaintEvents Then Return 1
 				
 				Local hdc:Byte Ptr=wp,hdcCanvas:Byte Ptr,hdcBitmap:Byte Ptr
 				Local srcw,srch,x,y,xoffset,yoffset
@@ -3870,6 +3872,12 @@ Type TWindowsPanel Extends TWindowsGadget
 						PostGuiEvent EVENT_GADGETPAINT
 						ValidateRect _hwnd, Null
 						Return 1
+					Default
+						If _generatesPaintEvents Then
+							PostGuiEvent EVENT_GADGETPAINT
+							ValidateRect _hwnd, Null
+							Return 1
+						End If
 				EndSelect
 			
 			Case WM_LBUTTONDOWN
@@ -4264,7 +4272,7 @@ End Rem
 		Local res, bool
 		busy:+1
 		res=idoc.Range(pos,pos+count,iirange)		
-		bstr=SysAllocStringLen(tmpWString,Text.length);MemFree tmpWString
+		bstr=SysAllocStringLen(tmpWString,UInt(Text.length));MemFree tmpWString
 		LockText()
 		res=iirange.SetText(bstr)
 		UnlockText()