Tip: Identifying Window Events

Windows specific forum
User avatar
GedB
Addict
Addict
Posts: 1313
Joined: Fri May 16, 2003 3:47 pm
Location: England
Contact:

Tip: Identifying Window Events

Post by GedB »

Here's something i threw together to identify where window events are occuring.

Code: Select all

Procedure Die(message.s)
  MessageRequester("Fatal Error", message)
  End
EndProcedure

Procedure.s DecodeWindowMessage(message)
  DefType.s Result
  Select message
    Case 32768 : Result = "WM_APP"
    Case 6 : Result = "WM_ACTIVATE"
    Case 28 : Result = "WM_ACTIVATEAPP"
    Case 864 : Result = "WM_AFXFIRST"
    Case 895 : Result = "WM_AFXLAST"
    Case 780 : Result = "WM_ASKCBFORMATNAME"
    Case 75 : Result = "WM_CANCELJOURNAL"
    Case 31 : Result = "WM_CANCELMODE"
    Case 533 : Result = "WM_CAPTURECHANGED"
    Case 781 : Result = "WM_CHANGECBCHAIN"
    Case 258 : Result = "WM_CHAR"
    Case 47 : Result = "WM_CHARTOITEM"
    Case 34 : Result = "WM_CHILDACTIVATE"
    Case 771 : Result = "WM_CLEAR"
    Case 16 : Result = "WM_CLOSE"
    Case 273 : Result = "WM_COMMAND"
    Case 68 : Result = "WM_COMMNOTIFY"
    Case 65 : Result = "WM_COMPACTING"
    Case 57 : Result = "WM_COMPAREITEM"
    Case 123 : Result = "WM_CONTEXTMENU"
    Case 769 : Result = "WM_COPY"
    Case 74 : Result = "WM_COPYDATA"
    Case 1 : Result = "WM_CREATE"
    Case 309 : Result = "WM_CTLCOLORBTN"
    Case 310 : Result = "WM_CTLCOLORDLG"
    Case 307 : Result = "WM_CTLCOLOREDIT"
    Case 308 : Result = "WM_CTLCOLORLISTBOX"
    Case 306 : Result = "WM_CTLCOLORMSGBOX"
    Case 311 : Result = "WM_CTLCOLORSCROLLBAR"
    Case 312 : Result = "WM_CTLCOLORSTATIC"
    Case 768 : Result = "WM_CUT"
    Case 259 : Result = "WM_DEADCHAR"
    Case 45 : Result = "WM_DELETEITEM"
    Case 2 : Result = "WM_DESTROY"
    Case 775 : Result = "WM_DESTROYCLIPBOARD"
    Case 537 : Result = "WM_DEVICECHANGE"
    Case 27 : Result = "WM_DEVMODECHANGE"
    Case 126 : Result = "WM_DISPLAYCHANGE"
    Case 776 : Result = "WM_DRAWCLIPBOARD"
    Case 43 : Result = "WM_DRAWITEM"
    Case 563 : Result = "WM_DROPFILES"
    Case 10 : Result = "WM_ENABLE"
    Case 22 : Result = "WM_ENDSESSION"
    Case 289 : Result = "WM_ENTERIDLE"
    Case 529 : Result = "WM_ENTERMENULOOP"
    Case 561 : Result = "WM_ENTERSIZEMOVE"
    Case 20 : Result = "WM_ERASEBKGND"
    Case 530 : Result = "WM_EXITMENULOOP"
    Case 562 : Result = "WM_EXITSIZEMOVE"
    Case 29 : Result = "WM_FONTCHANGE"
    Case 135 : Result = "WM_GETDLGCODE"
    Case 49 : Result = "WM_GETFONT"
    Case 51 : Result = "WM_GETHOTKEY"
    Case 127 : Result = "WM_GETICON"
    Case 36 : Result = "WM_GETMINMAXINFO"
    Case 13 : Result = "WM_GETTEXT"
    Case 14 : Result = "WM_GETTEXTLENGTH"
    Case 856 : Result = "WM_HANDHELDFIRST"
    Case 863 : Result = "WM_HANDHELDLAST"
    Case 83 : Result = "WM_HELP"
    Case 786 : Result = "WM_HOTKEY"
    Case 276 : Result = "WM_HSCROLL"
    Case 782 : Result = "WM_HSCROLLCLIPBOARD"
    Case 39 : Result = "WM_ICONERASEBKGND"
    Case 272 : Result = "WM_INITDIALOG"
    Case 278 : Result = "WM_INITMENU"
    Case 279 : Result = "WM_INITMENUPOPUP"
    Case 81 : Result = "WM_INPUTLANGCHANGE"
    Case 80 : Result = "WM_INPUTLANGCHANGEREQUEST"
    Case 256 : Result = "WM_KEYDOWN"
    Case 257 : Result = "WM_KEYUP"
    Case 8 : Result = "WM_KILLFOCUS"
    Case 546 : Result = "WM_MDIACTIVATE"
    Case 551 : Result = "WM_MDICASCADE"
    Case 544 : Result = "WM_MDICREATE"
    Case 545 : Result = "WM_MDIDESTROY"
    Case 553 : Result = "WM_MDIGETACTIVE"
    Case 552 : Result = "WM_MDIICONARRANGE"
    Case 549 : Result = "WM_MDIMAXIMIZE"
    Case 548 : Result = "WM_MDINEXT"
    Case 564 : Result = "WM_MDIREFRESHMENU"
    Case 547 : Result = "WM_MDIRESTORE"
    Case 560 : Result = "WM_MDISETMENU"
    Case 550 : Result = "WM_MDITILE"
    Case 44 : Result = "WM_MEASUREITEM"
    Case 288 : Result = "WM_MENUCHAR"
    Case 287 : Result = "WM_MENUSELECT"
    Case 531 : Result = "WM_NEXTMENU"
    Case 3 : Result = "WM_MOVE"
    Case 534 : Result = "WM_MOVING"
    Case 134 : Result = "WM_NCACTIVATE"
    Case 131 : Result = "WM_NCCALCSIZE"
    Case 129 : Result = "WM_NCCREATE"
    Case 130 : Result = "WM_NCDESTROY"
    Case 132 : Result = "WM_NCHITTEST"
    Case 163 : Result = "WM_NCLBUTTONDBLCLK"
    Case 161 : Result = "WM_NCLBUTTONDOWN"
    Case 162 : Result = "WM_NCLBUTTONUP"
    Case 169 : Result = "WM_NCMBUTTONDBLCLK"
    Case 167 : Result = "WM_NCMBUTTONDOWN"
    Case 168 : Result = "WM_NCMBUTTONUP"
    Case 160 : Result = "WM_NCMOUSEMOVE"
    Case 133 : Result = "WM_NCPAINT"
    Case 166 : Result = "WM_NCRBUTTONDBLCLK"
    Case 164 : Result = "WM_NCRBUTTONDOWN"
    Case 165 : Result = "WM_NCRBUTTONUP"
    Case 40 : Result = "WM_NEXTDLGCTL"
    Case 531 : Result = "WM_NEXTMENU"
    Case 78 : Result = "WM_NOTIFY"
    Case 85 : Result = "WM_NOTIFYFORMAT"
    Case 0 : Result = "WM_NULL"
    Case 15 : Result = "WM_PAINT"
    Case 777 : Result = "WM_PAINTCLIPBOARD"
    Case 38 : Result = "WM_PAINTICON"
    Case 785 : Result = "WM_PALETTECHANGED"
    Case 784 : Result = "WM_PALETTEISCHANGING"
    Case 528 : Result = "WM_PARENTNOTIFY"
    Case 770 : Result = "WM_PASTE"
    Case 896 : Result = "WM_PENWINFIRST"
    Case 911 : Result = "WM_PENWINLAST"
    Case 72 : Result = "WM_POWER"
    Case 536 : Result = "WM_POWERBROADCAST"
    Case 791 : Result = "WM_PRINT"
    Case 792 : Result = "WM_PRINTCLIENT"
    Case 55 : Result = "WM_QUERYDRAGICON"
    Case 17 : Result = "WM_QUERYENDSESSION"
    Case 783 : Result = "WM_QUERYNEWPALETTE"
    Case 19 : Result = "WM_QUERYOPEN"
    Case 35 : Result = "WM_QUEUESYNC"
    Case 18 : Result = "WM_QUIT"
    Case 774 : Result = "WM_RENDERALLFORMATS"
    Case 773 : Result = "WM_RENDERFORMAT"
    Case 32 : Result = "WM_SETCURSOR"
    Case 7 : Result = "WM_SETFOCUS"
    Case 48 : Result = "WM_SETFONT"
    Case 50 : Result = "WM_SETHOTKEY"
    Case 128 : Result = "WM_SETICON"
    Case 11 : Result = "WM_SETREDRAW"
    Case 12 : Result = "WM_SETTEXT"
    Case 26 : Result = "WM_SETTINGCHANGE"
    Case 24 : Result = "WM_SHOWWINDOW"
    Case 5 : Result = "WM_SIZE"
    Case 779 : Result = "WM_SIZECLIPBOARD"
    Case 532 : Result = "WM_SIZING"
    Case 42 : Result = "WM_SPOOLERSTATUS"
    Case 125 : Result = "WM_STYLECHANGED"
    Case 124 : Result = "WM_STYLECHANGING"
    Case 262 : Result = "WM_SYSCHAR"
    Case 21 : Result = "WM_SYSCOLORCHANGE"
    Case 274 : Result = "WM_SYSCOMMAND"
    Case 263 : Result = "WM_SYSDEADCHAR"
    Case 260 : Result = "WM_SYSKEYDOWN"
    Case 261 : Result = "WM_SYSKEYUP"
    Case 82 : Result = "WM_TCARD"
    Case 30 : Result = "WM_TIMECHANGE"
    Case 275 : Result = "WM_TIMER"
    Case 772 : Result = "WM_UNDO"
    Case 1024 : Result = "WM_USER"
    Case 84 : Result = "WM_USERCHANGED"
    Case 46 : Result = "WM_VKEYTOITEM"
    Case 277 : Result = "WM_VSCROLL"
    Case 778 : Result = "WM_VSCROLLCLIPBOARD"
    Case 71 : Result = "WM_WINDOWPOSCHANGED"
    Case 70 : Result = "WM_WINDOWPOSCHANGING"
    Case 26 : Result = "WM_WININICHANGE"
    Case 256 : Result = "WM_KEYFIRST"
    Case 264 : Result = "WM_KEYLAST"
    Case 136 : Result = "WM_SYNCPAINT"
    Case 33 : Result = "WM_MOUSEACTIVATE"
    Case 512 : Result = "WM_MOUSEMOVE"
    Case 513 : Result = "WM_LBUTTONDOWN"
    Case 514 : Result = "WM_LBUTTONUP"
    Case 515 : Result = "WM_LBUTTONDBLCLK"
    Case 516 : Result = "WM_RBUTTONDOWN"
    Case 517 : Result = "WM_RBUTTONUP"
    Case 518 : Result = "WM_RBUTTONDBLCLK"
    Case 519 : Result = "WM_MBUTTONDOWN"
    Case 520 : Result = "WM_MBUTTONUP"
    Case 521 : Result = "WM_MBUTTONDBLCLK"
    Case 522 : Result = "WM_MOUSEWHEEL"
    Case 512 : Result = "WM_MOUSEFIRST"
    Case 522 : Result = "WM_MOUSELAST"
    Case 673 : Result = "WM_MOUSEHOVER"
    Case 675 : Result = "WM_MOUSELEAVE"
    Default : Result = "DID NOT RECOGNISE " + Str(message)
  EndSelect
  ProcedureReturn Result
EndProcedure

Procedure Callback(WindowID, message, wParam, lParam) 
  Result = #PB_ProcessPureBasicEvents 
  Debug DecodeWindowMessage(message)
  ProcedureReturn Result 
EndProcedure 

If OpenWindow(0, 0, 0, 100, 100, #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget, "Split Picture") Or Die("Failed to Open Window")
  SetWindowCallback(@Callback())
EndIf

Repeat
  evt = WaitWindowEvent()
Until evt = #PB_Event_CloseWindow

PolyVector
Enthusiast
Enthusiast
Posts: 499
Joined: Wed Sep 17, 2003 9:17 pm
Location: Southern California
Contact:

Post by PolyVector »

:)
I was just thinking of writing something like this...nice work!
Maybe everyone can contribute to make it support various controls? Maybe it can even give details on the Params :twisted:


Edit: Here's my version...

Code: Select all

Procedure Die(Message.s) 
  MessageRequester("Fatal Error", Message) 
  End 
EndProcedure 

XIncludeFile "Constants.pb"
Procedure.s DecodeWindowMessage(hWnd.l,Message.l,wParam.l,lParam.l)
  Protected Result.s,ClassName.s
  ClassName=Space(256)
  GetClassName_(hWnd,ClassName,256)
  Result=""
  Select ClassName
    Case "Button"
      Select Message
        Case #BM_CLICK : Result = "BM_CLICK"
        Case #BM_GETCHECK : Result = "BM_GETCHECK"
        Case #BM_GETIMAGE : Result = "BM_GETIMAGE"
        Case #BM_GETSTATE : Result = "BM_GETSTATE"
        Case #BM_SETCHECK : Result = "BM_SETCHECK"
        Case #BM_SETIMAGE : Result = "BM_SETIMAGE"
        Case #BM_SETSTATE : Result = "BM_SETSTATE"
        Case #BM_SETSTYLE : Result = "BM_SETSTYLE"
      EndSelect          
    Case "Static"
      Select Message
        Case #STM_GETICON : Result = "STM_GETICON"
        Case #STM_GETIMAGE : Result = "STM_GETIMAGE"
        Case #STM_SETICON : Result = "STM_SETICON"
        Case #STM_SETIMAGE : Result = "STM_SETIMAGE"
        Case #STN_CLICKED : Result = "STN_CLICKED"
        Case #STN_DBLCLK : Result = "STN_DBLCLK"
        Case #STN_DISABLE : Result = "STN_DISABLE"
        Case #STN_ENABLE : Result = "STN_ENABLE"
      EndSelect
    Case "SysTabControl32"
      Select Message
        Case #TCM_ADJUSTRECT : Result = "TCM_ADJUSTRECT"
        Case #TCM_DELETEALLITEMS : Result = "TCM_DELETEALLITEMS"
        Case #TCM_DELETEITEM : Result = "TCM_DELETEITEM"
        Case #TCM_DESELECTALL : Result = "TCM_DESELECTALL"
        Case #TCM_FIRST : Result = "TCM_FIRST"
        Case #TCM_GETCURFOCUS : Result = "TCM_GETCURFOCUS"
        Case #TCM_GETCURSEL : Result = "TCM_GETCURSEL"
        Case #TCM_GETEXTENDEDSTYLE : Result = "TCM_GETEXTENDEDSTYLE"
        Case #TCM_GETIMAGELIST : Result = "TCM_GETIMAGELIST"
        Case #TCM_GETITEMA : Result = "TCM_GETITEMA"
        Case #TCM_GETITEMCOUNT : Result = "TCM_GETITEMCOUNT"
        Case #TCM_GETITEMRECT : Result = "TCM_GETITEMRECT"
        Case #TCM_GETITEMW : Result = "TCM_GETITEMW"
        Case #TCM_GETROWCOUNT : Result = "TCM_GETROWCOUNT"
        Case #TCM_GETTOOLTIPS : Result = "TCM_GETTOOLTIPS"
        Case #TCM_GETUNICODEFORMAT : Result = "TCM_GETUNICODEFORMAT"
        Case #TCM_HIGHLIGHTITEM : Result = "TCM_HIGHLIGHTITEM"
        Case #TCM_HITTEST : Result = "TCM_HITTEST"
        Case #TCM_INSERTITEMA : Result = "TCM_INSERTITEMA"
        Case #TCM_INSERTITEMW : Result = "TCM_INSERTITEMW"
        Case #TCM_REMOVEIMAGE : Result = "TCM_REMOVEIMAGE"
        Case #TCM_SETCURFOCUS : Result = "TCM_SETCURFOCUS"
        Case #TCM_SETCURSEL : Result = "TCM_SETCURSEL"
        Case #TCM_SETEXTENDEDSTYLE : Result = "TCM_SETEXTENDEDSTYLE"
        Case #TCM_SETIMAGELIST : Result = "TCM_SETIMAGELIST"
        Case #TCM_SETITEMA : Result = "TCM_SETITEMA"
        Case #TCM_SETITEMEXTRA : Result = "TCM_SETITEMEXTRA"
        Case #TCM_SETITEMSIZE : Result = "TCM_SETITEMSIZE"
        Case #TCM_SETITEMW : Result = "TCM_SETITEMW"
        Case #TCM_SETMINTABWIDTH : Result = "TCM_SETMINTABWIDTH"
        Case #TCM_SETPADDING : Result = "TCM_SETPADDING"
        Case #TCM_SETTOOLTIPS : Result = "TCM_SETTOOLTIPS"
        Case #TCM_SETUNICODEFORMAT : Result = "TCM_SETUNICODEFORMAT"
      EndSelect
    Case "SysListView32"
      Select Message
        Case #LVM_GETCOLUMNA : Result = "LVM_GETCOLUMNA"
        Case #LVM_GETCOLUMNORDERARRAY : Result = "LVM_GETCOLUMNORDERARRAY"
        Case #LVM_GETCOLUMNW : Result = "LVM_GETCOLUMNW"
        Case #LVM_GETCOLUMNWIDTH : Result = "LVM_GETCOLUMNWIDTH"
        Case #LVM_GETCOUNTPERPAGE : Result = "LVM_GETCOUNTPERPAGE"
        Case #LVM_GETEDITCONTROL : Result = "LVM_GETEDITCONTROL"
        Case #LVM_GETEXTENDEDLISTVIEWSTYLE : Result = "LVM_GETEXTENDEDLISTVIEWSTYLE"
        Case #LVM_GETGROUPINFO : Result = "LVM_GETGROUPINFO"
        Case #LVM_GETGROUPMETRICS : Result = "LVM_GETGROUPMETRICS"
        Case #LVM_GETHEADER : Result = "LVM_GETHEADER"
        Case #LVM_GETHOTCURSOR : Result = "LVM_GETHOTCURSOR"
        Case #LVM_GETHOTITEM : Result = "LVM_GETHOTITEM"
        Case #LVM_GETHOVERTIME : Result = "LVM_GETHOVERTIME"
        Case #LVM_GETIMAGELIST : Result = "LVM_GETIMAGELIST"
        Case #LVM_GETINSERTMARK : Result = "LVM_GETINSERTMARK"
        Case #LVM_GETINSERTMARKCOLOR : Result = "LVM_GETINSERTMARKCOLOR"
        Case #LVM_GETINSERTMARKRECT : Result = "LVM_GETINSERTMARKRECT"
        Case #LVM_GETISEARCHSTRINGA : Result = "LVM_GETISEARCHSTRINGA"
        Case #LVM_GETISEARCHSTRINGW : Result = "LVM_GETISEARCHSTRINGW"
        Case #LVM_GETITEMA : Result = "LVM_GETITEMA"
        Case #LVM_GETITEMCOUNT : Result = "LVM_GETITEMCOUNT"
        Case #LVM_GETITEMPOSITION : Result = "LVM_GETITEMPOSITION"
        Case #LVM_GETITEMRECT : Result = "LVM_GETITEMRECT"
        Case #LVM_GETITEMSPACING : Result = "LVM_GETITEMSPACING"
        Case #LVM_GETITEMSTATE : Result = "LVM_GETITEMSTATE"
        Case #LVM_GETITEMTEXTA : Result = "LVM_GETITEMTEXTA"
        Case #LVM_GETITEMTEXTW : Result = "LVM_GETITEMTEXTW"
        Case #LVM_GETITEMW : Result = "LVM_GETITEMW"
        Case #LVM_GETNEXTITEM : Result = "LVM_GETNEXTITEM"
        Case #LVM_GETNUMBEROFWORKAREAS : Result = "LVM_GETNUMBEROFWORKAREAS"
        Case #LVM_GETORIGIN : Result = "LVM_GETORIGIN"
        Case #LVM_GETOUTLINECOLOR : Result = "LVM_GETOUTLINECOLOR"
        Case #LVM_GETSELECTEDCOLUMN : Result = "LVM_GETSELECTEDCOLUMN"
        Case #LVM_GETSELECTEDCOUNT : Result = "LVM_GETSELECTEDCOUNT"
        Case #LVM_GETSELECTIONMARK : Result = "LVM_GETSELECTIONMARK"
        Case #LVM_GETSTRINGWIDTHA : Result = "LVM_GETSTRINGWIDTHA"
        Case #LVM_GETSTRINGWIDTHW : Result = "LVM_GETSTRINGWIDTHW"
        Case #LVM_GETSUBITEMRECT : Result = "LVM_GETSUBITEMRECT"
        Case #LVM_GETTEXTBKCOLOR : Result = "LVM_GETTEXTBKCOLOR"
        Case #LVM_GETTEXTCOLOR : Result = "LVM_GETTEXTCOLOR"
        Case #LVM_GETTILEINFO : Result = "LVM_GETTILEINFO"
        Case #LVM_GETTILEVIEWINFO : Result = "LVM_GETTILEVIEWINFO"
        Case #LVM_GETTOOLTIPS : Result = "LVM_GETTOOLTIPS"
        Case #LVM_GETTOPINDEX : Result = "LVM_GETTOPINDEX"
        Case #LVM_GETUNICODEFORMAT : Result = "LVM_GETUNICODEFORMAT"
        Case #LVM_GETVIEW : Result = "LVM_GETVIEW"
        Case #LVM_GETVIEWRECT : Result = "LVM_GETVIEWRECT"
        Case #LVM_GETWORKAREAS : Result = "LVM_GETWORKAREAS"
        Case #LVM_HASGROUP : Result = "LVM_HASGROUP"
        Case #LVM_HITTEST : Result = "LVM_HITTEST"
        Case #LVM_INSERTCOLUMNA : Result = "LVM_INSERTCOLUMNA"
        Case #LVM_INSERTCOLUMNW : Result = "LVM_INSERTCOLUMNW"
        Case #LVM_INSERTGROUP : Result = "LVM_INSERTGROUP"
        Case #LVM_INSERTGROUPSORTED : Result = "LVM_INSERTGROUPSORTED"
        Case #LVM_INSERTITEMA : Result = "LVM_INSERTITEMA"
        Case #LVM_INSERTITEMW : Result = "LVM_INSERTITEMW"
        Case #LVM_INSERTMARKHITTEST : Result = "LVM_INSERTMARKHITTEST"
        Case #LVM_ISGROUPVIEWENABLED : Result = "LVM_ISGROUPVIEWENABLED"
        Case #LVM_MOVEGROUP : Result = "LVM_MOVEGROUP"
        Case #LVM_MOVEITEMTOGROUP : Result = "LVM_MOVEITEMTOGROUP"
        Case #LVM_REDRAWITEMS : Result = "LVM_REDRAWITEMS"
        Case #LVM_REMOVEALLGROUPS : Result = "LVM_REMOVEALLGROUPS"
        Case #LVM_REMOVEGROUP : Result = "LVM_REMOVEGROUP"
        Case #LVM_SCROLL : Result = "LVM_SCROLL"
        Case #LVM_SETBKCOLOR : Result = "LVM_SETBKCOLOR"
        Case #LVM_SETBKIMAGEA : Result = "LVM_SETBKIMAGEA"
        Case #LVM_SETBKIMAGEW : Result = "LVM_SETBKIMAGEW"
        Case #LVM_SETCALLBACKMASK : Result = "LVM_SETCALLBACKMASK"
        Case #LVM_SETCOLUMNA : Result = "LVM_SETCOLUMNA"
        Case #LVM_SETCOLUMNORDERARRAY : Result = "LVM_SETCOLUMNORDERARRAY"
        Case #LVM_SETCOLUMNW : Result = "LVM_SETCOLUMNW"
        Case #LVM_SETCOLUMNWIDTH : Result = "LVM_SETCOLUMNWIDTH"
        Case #LVM_SETEXTENDEDLISTVIEWSTYLE : Result = "LVM_SETEXTENDEDLISTVIEWSTYLE"
        Case #LVM_SETGROUPINFO : Result = "LVM_SETGROUPINFO"
        Case #LVM_SETGROUPMETRICS : Result = "LVM_SETGROUPMETRICS"
        Case #LVM_SETHOTCURSOR : Result = "LVM_SETHOTCURSOR"
        Case #LVM_SETHOTITEM : Result = "LVM_SETHOTITEM"
        Case #LVM_SETHOVERTIME : Result = "LVM_SETHOVERTIME"
        Case #LVM_SETICONSPACING : Result = "LVM_SETICONSPACING"
        Case #LVM_SETIMAGELIST : Result = "LVM_SETIMAGELIST"
        Case #LVM_SETINFOTIP : Result = "LVM_SETINFOTIP"
        Case #LVM_SETINSERTMARK : Result = "LVM_SETINSERTMARK"
        Case #LVM_SETINSERTMARKCOLOR : Result = "LVM_SETINSERTMARKCOLOR"
        Case #LVM_SETITEMA : Result = "LVM_SETITEMA"
        Case #LVM_SETITEMCOUNT : Result = "LVM_SETITEMCOUNT"
        Case #LVM_SETITEMPOSITION : Result = "LVM_SETITEMPOSITION"
        Case #LVM_SETITEMPOSITION32 : Result = "LVM_SETITEMPOSITION32"
        Case #LVM_SETITEMSTATE : Result = "LVM_SETITEMSTATE"
        Case #LVM_SETITEMTEXTA : Result = "LVM_SETITEMTEXTA"
        Case #LVM_SETITEMTEXTW : Result = "LVM_SETITEMTEXTW"
        Case #LVM_SETITEMW : Result = "LVM_SETITEMW"
        Case #LVM_SETOUTLINECOLOR : Result = "LVM_SETOUTLINECOLOR"
        Case #LVM_SETSELECTEDCOLUMN : Result = "LVM_SETSELECTEDCOLUMN"
        Case #LVM_SETSELECTIONMARK : Result = "LVM_SETSELECTIONMARK"
        Case #LVM_SETTEXTBKCOLOR : Result = "LVM_SETTEXTBKCOLOR"
        Case #LVM_SETTEXTCOLOR : Result = "LVM_SETTEXTCOLOR"
        Case #LVM_SETTILEINFO : Result = "LVM_SETTILEINFO"
        Case #LVM_SETTILEVIEWINFO : Result = "LVM_SETTILEVIEWINFO"
        Case #LVM_SETTILEWIDTH : Result = "LVM_SETTILEWIDTH"
        Case #LVM_SETTOOLTIPS : Result = "LVM_SETTOOLTIPS"
        Case #LVM_SETUNICODEFORMAT : Result = "LVM_SETUNICODEFORMAT"
        Case #LVM_SETVIEW : Result = "LVM_SETVIEW"
        Case #LVM_SETWORKAREAS : Result = "LVM_SETWORKAREAS"
        Case #LVM_SORTGROUPS : Result = "LVM_SORTGROUPS"
        Case #LVM_SORTITEMS : Result = "LVM_SORTITEMS"
        Case #LVM_SORTITEMSEX : Result = "LVM_SORTITEMSEX"
        Case #LVM_SUBITEMHITTEST : Result = "LVM_SUBITEMHITTEST"
        Case #LVM_UPDATE : Result = "LVM_UPDATE"
      EndSelect
    Case "Edit"
      Select Message
        Case #EM_AUTOURLDETECT : Result = "EM_AUTOURLDETECT"
        Case #EM_CANPASTE : Result = "EM_CANPASTE"
        Case #EM_CANREDO : Result = "EM_CANREDO"
        Case #EM_CANUNDO : Result = "EM_CANUNDO"
        Case #EM_CHARFROMPOS : Result = "EM_CHARFROMPOS"
        Case #EM_CONVPOSITION : Result = "EM_CONVPOSITION"
        Case #EM_DISPLAYBAND : Result = "EM_DISPLAYBAND"
        Case #EM_EMPTYUNDOBUFFER : Result = "EM_EMPTYUNDOBUFFER"
        Case #EM_EXGETSEL : Result = "EM_EXGETSEL"
        Case #EM_EXLIMITTEXT : Result = "EM_EXLIMITTEXT"
        Case #EM_EXLINEFROMCHAR : Result = "EM_EXLINEFROMCHAR"
        Case #EM_EXSETSEL : Result = "EM_EXSETSEL"
        Case #EM_FINDTEXT : Result = "EM_FINDTEXT"
        Case #EM_FINDTEXTEX : Result = "EM_FINDTEXTEX"
        Case #EM_FINDTEXTEXW : Result = "EM_FINDTEXTEXW"
        Case #EM_FINDTEXTW : Result = "EM_FINDTEXTW"
        Case #EM_FINDWORDBREAK : Result = "EM_FINDWORDBREAK"
        Case #EM_FMTLINES : Result = "EM_FMTLINES"
        Case #EM_FORMATRANGE : Result = "EM_FORMATRANGE"
        Case #EM_GETAUTOURLDETECT : Result = "EM_GETAUTOURLDETECT"
        Case #EM_GETBIDIOPTIONS : Result = "EM_GETBIDIOPTIONS"
        Case #EM_GETCHARFORMAT : Result = "EM_GETCHARFORMAT"
        Case #EM_GETEDITSTYLE : Result = "EM_GETEDITSTYLE"
        Case #EM_GETEVENTMASK : Result = "EM_GETEVENTMASK"
        Case #EM_GETFIRSTVISIBLELINE : Result = "EM_GETFIRSTVISIBLELINE"
        Case #EM_GETHANDLE : Result = "EM_GETHANDLE"
        Case #EM_GETIMECOLOR : Result = "EM_GETIMECOLOR"
        Case #EM_GETIMECOMPMODE : Result = "EM_GETIMECOMPMODE"
        Case #EM_GETIMEMODEBIAS : Result = "EM_GETIMEMODEBIAS"
        Case #EM_GETIMEOPTIONS : Result = "EM_GETIMEOPTIONS"
        Case #EM_GETIMESTATUS : Result = "EM_GETIMESTATUS"
        Case #EM_GETLANGOPTIONS : Result = "EM_GETLANGOPTIONS"
        Case #EM_GETLINE : Result = "EM_GETLINE"
        Case #EM_GETLINECOUNT : Result = "EM_GETLINECOUNT"
        Case #EM_GETMARGINS : Result = "EM_GETMARGINS"
        Case #EM_GETMODIFY : Result = "EM_GETMODIFY"
        Case #EM_GETOLEINTERFACE : Result = "EM_GETOLEINTERFACE"
        Case #EM_GETOPTIONS : Result = "EM_GETOPTIONS"
        Case #EM_GETPARAFORMAT : Result = "EM_GETPARAFORMAT"
        Case #EM_GETPASSWORDCHAR : Result = "EM_GETPASSWORDCHAR"
        Case #EM_GETPUNCTUATION : Result = "EM_GETPUNCTUATION"
        Case #EM_GETRECT : Result = "EM_GETRECT"
        Case #EM_GETREDONAME : Result = "EM_GETREDONAME"
        Case #EM_GETSCROLLPOS : Result = "EM_GETSCROLLPOS"
        Case #EM_GETSEL : Result = "EM_GETSEL"
        Case #EM_GETSELTEXT : Result = "EM_GETSELTEXT"
        Case #EM_GETTEXTEX : Result = "EM_GETTEXTEX"
        Case #EM_GETTEXTLENGTHEX : Result = "EM_GETTEXTLENGTHEX"
        Case #EM_GETTEXTMODE : Result = "EM_GETTEXTMODE"
        Case #EM_GETTEXTRANGE : Result = "EM_GETTEXTRANGE"
        Case #EM_GETTHUMB : Result = "EM_GETTHUMB"
        Case #EM_GETTYPOGRAPHYOPTIONS : Result = "EM_GETTYPOGRAPHYOPTIONS"
        Case #EM_GETUNDONAME : Result = "EM_GETUNDONAME"
        Case #EM_GETWORDBREAKPROC : Result = "EM_GETWORDBREAKPROC"
        Case #EM_GETWORDBREAKPROCEX : Result = "EM_GETWORDBREAKPROCEX"
        Case #EM_GETWORDWRAPMODE : Result = "EM_GETWORDWRAPMODE"
        Case #EM_GETZOOM : Result = "EM_GETZOOM"
        Case #EM_HIDESELECTION : Result = "EM_HIDESELECTION"
        Case #EM_LIMITTEXT : Result = "EM_LIMITTEXT"
        Case #EM_LINEFROMCHAR : Result = "EM_LINEFROMCHAR"
        Case #EM_LINEINDEX : Result = "EM_LINEINDEX"
        Case #EM_LINELENGTH : Result = "EM_LINELENGTH"
        Case #EM_LINESCROLL : Result = "EM_LINESCROLL"
        Case #EM_OUTLINE : Result = "EM_OUTLINE"
        Case #EM_PASTESPECIAL : Result = "EM_PASTESPECIAL"
        Case #EM_RECONVERSION : Result = "EM_RECONVERSION"
        Case #EM_REDO : Result = "EM_REDO"
        Case #EM_REPLACESEL : Result = "EM_REPLACESEL"
        Case #EM_REQUESTRESIZE : Result = "EM_REQUESTRESIZE"
        Case #EM_SCROLL : Result = "EM_SCROLL"
        Case #EM_SCROLLCARET : Result = "EM_SCROLLCARET"
        Case #EM_SELECTIONTYPE : Result = "EM_SELECTIONTYPE"
        Case #EM_SETBIDIOPTIONS : Result = "EM_SETBIDIOPTIONS"
        Case #EM_SETBKGNDCOLOR : Result = "EM_SETBKGNDCOLOR"
        Case #EM_SETCHARFORMAT : Result = "EM_SETCHARFORMAT"
        Case #ECM_FIRST=$1500 : Result = "ECM_FIRST=$1500"
        Case #EM_SETCUEBANNER : Result = "EM_SETCUEBANNER"
        Case #EM_SETEDITSTYLE : Result = "EM_SETEDITSTYLE"
        Case #EM_SETEVENTMASK : Result = "EM_SETEVENTMASK"
        Case #EM_SETFONTSIZE : Result = "EM_SETFONTSIZE"
        Case #EM_SETHANDLE : Result = "EM_SETHANDLE"
        Case #EM_SETIMECOLOR : Result = "EM_SETIMECOLOR"
        Case #EM_SETIMEMODEBIAS : Result = "EM_SETIMEMODEBIAS"
        Case #EM_SETIMEOPTIONS : Result = "EM_SETIMEOPTIONS"
        Case #EM_SETIMESTATUS : Result = "EM_SETIMESTATUS"
        Case #EM_SETLANGOPTIONS : Result = "EM_SETLANGOPTIONS"
        Case #EM_SETLIMITTEXT : Result = "EM_SETLIMITTEXT"
        Case #EM_SETMARGINS : Result = "EM_SETMARGINS"
        Case #EM_SETMODIFY : Result = "EM_SETMODIFY"
        Case #EM_SETOLECALLBACK : Result = "EM_SETOLECALLBACK"
        Case #EM_SETOPTIONS : Result = "EM_SETOPTIONS"
        Case #EM_SETPALETTE : Result = "EM_SETPALETTE"
        Case #EM_SETPARAFORMAT : Result = "EM_SETPARAFORMAT"
        Case #EM_SETPASSWORDCHAR : Result = "EM_SETPASSWORDCHAR"
        Case #EM_SETPUNCTUATION : Result = "EM_SETPUNCTUATION"
        Case #EM_SETREADONLY : Result = "EM_SETREADONLY"
        Case #EM_SETRECT : Result = "EM_SETRECT"
        Case #EM_SETRECTNP : Result = "EM_SETRECTNP"
        Case #EM_SETSCROLLPOS : Result = "EM_SETSCROLLPOS"
        Case #EM_SETSEL : Result = "EM_SETSEL"
        Case #EM_SETTABSTOPS : Result = "EM_SETTABSTOPS"
        Case #EM_SETTARGETDEVICE : Result = "EM_SETTARGETDEVICE"
        Case #EM_SETTEXTEX : Result = "EM_SETTEXTEX"
        Case #EM_SETTEXTMODE : Result = "EM_SETTEXTMODE"
        Case #EM_SETTYPOGRAPHYOPTIONS : Result = "EM_SETTYPOGRAPHYOPTIONS"
        Case #EM_SETUNDOLIMIT : Result = "EM_SETUNDOLIMIT"
        Case #EM_SETWORDBREAKPROC : Result = "EM_SETWORDBREAKPROC"
        Case #EM_SETWORDBREAKPROCEX : Result = "EM_SETWORDBREAKPROCEX"
        Case #EM_SETWORDWRAPMODE : Result = "EM_SETWORDWRAPMODE"
        Case #EM_SETZOOM : Result = "EM_SETZOOM"
        Case #EM_SHOWSCROLLBAR : Result = "EM_SHOWSCROLLBAR"
        Case #EM_STOPGROUPTYPING : Result = "EM_STOPGROUPTYPING"
        Case #EM_STREAMIN : Result = "EM_STREAMIN"
        Case #EM_STREAMOUT : Result = "EM_STREAMOUT"
      EndSelect
  EndSelect
  If Result=""
    Select Message
      Case #WM_ACTIVATE : Result = "WM_ACTIVATE"
      Case #WM_ACTIVATEAPP : Result = "WM_ACTIVATEAPP"
      Case #WM_ADSPROP_NOTIFY_APPLY : Result = "WM_ADSPROP_NOTIFY_APPLY"
      Case #WM_ADSPROP_NOTIFY_CHANGE : Result = "WM_ADSPROP_NOTIFY_CHANGE"
      Case #WM_ADSPROP_NOTIFY_ERROR : Result = "WM_ADSPROP_NOTIFY_ERROR"
      Case #WM_ADSPROP_NOTIFY_EXIT : Result = "WM_ADSPROP_NOTIFY_EXIT"
      Case #WM_ADSPROP_NOTIFY_FOREGROUND : Result = "WM_ADSPROP_NOTIFY_FOREGROUND"
      Case #WM_ADSPROP_NOTIFY_PAGEHWND : Result = "WM_ADSPROP_NOTIFY_PAGEHWND"
      Case #WM_ADSPROP_NOTIFY_PAGEINIT : Result = "WM_ADSPROP_NOTIFY_PAGEINIT"
      Case #WM_ADSPROP_NOTIFY_SETFOCUS : Result = "WM_ADSPROP_NOTIFY_SETFOCUS"
      Case #WM_ADSPROP_NOTIFY_SHOW_ERROR_DIALOG : Result = "WM_ADSPROP_NOTIFY_SHOW_ERROR_DIALOG"
      Case #WM_AFXFIRST : Result = "WM_AFXFIRST"
      Case #WM_AFXLAST : Result = "WM_AFXLAST"
      Case #WM_APP : Result = "WM_APP"
      Case #WM_APPCOMMAND : Result = "WM_APPCOMMAND"
      Case #WM_ASKCBFORMATNAME : Result = "WM_ASKCBFORMATNAME"
      Case #WM_CANCELJOURNAL : Result = "WM_CANCELJOURNAL"
      Case #WM_CANCELMODE : Result = "WM_CANCELMODE"
      Case #WM_CAP_START : Result = "WM_CAP_START"
      Case #WM_CAP_UNICODE_START : Result = "WM_CAP_UNICODE_START"
      Case #WM_CAP_ABORT : Result = "WM_CAP_ABORT"
      Case #WM_CAP_DLG_VIDEOCOMPRESSION : Result = "WM_CAP_DLG_VIDEOCOMPRESSION"
      Case #WM_CAP_DLG_VIDEODISPLAY : Result = "WM_CAP_DLG_VIDEODISPLAY"
      Case #WM_CAP_DLG_VIDEOFORMAT : Result = "WM_CAP_DLG_VIDEOFORMAT"
      Case #WM_CAP_DLG_VIDEOSOURCE : Result = "WM_CAP_DLG_VIDEOSOURCE"
      Case #WM_CAP_DRIVER_CONNECT : Result = "WM_CAP_DRIVER_CONNECT"
      Case #WM_CAP_DRIVER_DISCONNECT : Result = "WM_CAP_DRIVER_DISCONNECT"
      Case #WM_CAP_DRIVER_GET_CAPS : Result = "WM_CAP_DRIVER_GET_CAPS"
      Case #WM_CAP_DRIVER_GET_NAMEA : Result = "WM_CAP_DRIVER_GET_NAMEA"
      Case #WM_CAP_DRIVER_GET_NAMEW : Result = "WM_CAP_DRIVER_GET_NAMEW"
      Case #WM_CAP_DRIVER_GET_VERSIONA : Result = "WM_CAP_DRIVER_GET_VERSIONA"
      Case #WM_CAP_DRIVER_GET_VERSIONW : Result = "WM_CAP_DRIVER_GET_VERSIONW"
      Case #WM_CAP_EDIT_COPY : Result = "WM_CAP_EDIT_COPY"
      Case #WM_CAP_FILE_ALLOCATE : Result = "WM_CAP_FILE_ALLOCATE"
      Case #WM_CAP_FILE_GET_CAPTURE_FILEA : Result = "WM_CAP_FILE_GET_CAPTURE_FILEA"
      Case #WM_CAP_FILE_GET_CAPTURE_FILEW : Result = "WM_CAP_FILE_GET_CAPTURE_FILEW"
      Case #WM_CAP_FILE_SAVEASA : Result = "WM_CAP_FILE_SAVEASA"
      Case #WM_CAP_FILE_SAVEASW : Result = "WM_CAP_FILE_SAVEASW"
      Case #WM_CAP_FILE_SAVEDIBA : Result = "WM_CAP_FILE_SAVEDIBA"
      Case #WM_CAP_FILE_SAVEDIBW : Result = "WM_CAP_FILE_SAVEDIBW"
      Case #WM_CAP_FILE_SET_CAPTURE_FILEA : Result = "WM_CAP_FILE_SET_CAPTURE_FILEA"
      Case #WM_CAP_FILE_SET_CAPTURE_FILEW : Result = "WM_CAP_FILE_SET_CAPTURE_FILEW"
      Case #WM_CAP_FILE_SET_INFOCHUNK : Result = "WM_CAP_FILE_SET_INFOCHUNK"
      Case #WM_CAP_GET_AUDIOFORMAT : Result = "WM_CAP_GET_AUDIOFORMAT"
      Case #WM_CAP_GET_CAPSTREAMPTR : Result = "WM_CAP_GET_CAPSTREAMPTR"
      Case #WM_CAP_GET_MCI_DEVICEA : Result = "WM_CAP_GET_MCI_DEVICEA"
      Case #WM_CAP_GET_MCI_DEVICEW : Result = "WM_CAP_GET_MCI_DEVICEW"
      Case #WM_CAP_GET_SEQUENCE_SETUP : Result = "WM_CAP_GET_SEQUENCE_SETUP"
      Case #WM_CAP_GET_STATUS : Result = "WM_CAP_GET_STATUS"
      Case #WM_CAP_GET_USER_DATA : Result = "WM_CAP_GET_USER_DATA"
      Case #WM_CAP_GET_VIDEOFORMAT : Result = "WM_CAP_GET_VIDEOFORMAT"
      Case #WM_CAP_GRAB_FRAME : Result = "WM_CAP_GRAB_FRAME"
      Case #WM_CAP_GRAB_FRAME_NOSTOP : Result = "WM_CAP_GRAB_FRAME_NOSTOP"
      Case #WM_CAP_PAL_AUTOCREATE : Result = "WM_CAP_PAL_AUTOCREATE"
      Case #WM_CAP_PAL_MANUALCREATE : Result = "WM_CAP_PAL_MANUALCREATE"
      Case #WM_CAP_PAL_OPENA : Result = "WM_CAP_PAL_OPENA"
      Case #WM_CAP_PAL_OPENW : Result = "WM_CAP_PAL_OPENW"
      Case #WM_CAP_PAL_PASTE : Result = "WM_CAP_PAL_PASTE"
      Case #WM_CAP_PAL_SAVEA : Result = "WM_CAP_PAL_SAVEA"
      Case #WM_CAP_PAL_SAVEW : Result = "WM_CAP_PAL_SAVEW"
      Case #WM_CAP_SEQUENCE : Result = "WM_CAP_SEQUENCE"
      Case #WM_CAP_SEQUENCE_NOFILE : Result = "WM_CAP_SEQUENCE_NOFILE"
      Case #WM_CAP_SET_AUDIOFORMAT : Result = "WM_CAP_SET_AUDIOFORMAT"
      Case #WM_CAP_SET_CALLBACK_CAPCONTROL : Result = "WM_CAP_SET_CALLBACK_CAPCONTROL"
      Case #WM_CAP_SET_CALLBACK_ERRORA : Result = "WM_CAP_SET_CALLBACK_ERRORA"
      Case #WM_CAP_SET_CALLBACK_ERRORW : Result = "WM_CAP_SET_CALLBACK_ERRORW"
      Case #WM_CAP_SET_CALLBACK_FRAME : Result = "WM_CAP_SET_CALLBACK_FRAME"
      Case #WM_CAP_SET_CALLBACK_STATUSA : Result = "WM_CAP_SET_CALLBACK_STATUSA"
      Case #WM_CAP_SET_CALLBACK_STATUSW : Result = "WM_CAP_SET_CALLBACK_STATUSW"
      Case #WM_CAP_SET_CALLBACK_VIDEOSTREAM : Result = "WM_CAP_SET_CALLBACK_VIDEOSTREAM"
      Case #WM_CAP_SET_CALLBACK_WAVESTREAM : Result = "WM_CAP_SET_CALLBACK_WAVESTREAM"
      Case #WM_CAP_SET_CALLBACK_YIELD : Result = "WM_CAP_SET_CALLBACK_YIELD"
      Case #WM_CAP_SET_MCI_DEVICEA : Result = "WM_CAP_SET_MCI_DEVICEA"
      Case #WM_CAP_SET_MCI_DEVICEW : Result = "WM_CAP_SET_MCI_DEVICEW"
      Case #WM_CAP_SET_OVERLAY : Result = "WM_CAP_SET_OVERLAY"
      Case #WM_CAP_SET_PREVIEW : Result = "WM_CAP_SET_PREVIEW"
      Case #WM_CAP_SET_PREVIEWRATE : Result = "WM_CAP_SET_PREVIEWRATE"
      Case #WM_CAP_SET_SCALE : Result = "WM_CAP_SET_SCALE"
      Case #WM_CAP_SET_SCROLL : Result = "WM_CAP_SET_SCROLL"
      Case #WM_CAP_SET_SEQUENCE_SETUP : Result = "WM_CAP_SET_SEQUENCE_SETUP"
      Case #WM_CAP_SET_USER_DATA : Result = "WM_CAP_SET_USER_DATA"
      Case #WM_CAP_SET_VIDEOFORMAT : Result = "WM_CAP_SET_VIDEOFORMAT"
      Case #WM_CAP_SINGLE_FRAME : Result = "WM_CAP_SINGLE_FRAME"
      Case #WM_CAP_SINGLE_FRAME_CLOSE : Result = "WM_CAP_SINGLE_FRAME_CLOSE"
      Case #WM_CAP_SINGLE_FRAME_OPEN : Result = "WM_CAP_SINGLE_FRAME_OPEN"
      Case #WM_CAP_STOP : Result = "WM_CAP_STOP"
      Case #WM_CAP_UNICODE_END : Result = "WM_CAP_UNICODE_END"
      Case #WM_CAP_END : Result = "WM_CAP_END"
      Case #WM_CAPTURECHANGED : Result = "WM_CAPTURECHANGED"
      Case #WM_CHANGECBCHAIN : Result = "WM_CHANGECBCHAIN"
      Case #WM_CHANGEUISTATE : Result = "WM_CHANGEUISTATE"
      Case #WM_CHAR : Result = "WM_CHAR"
      Case #WM_CHARTOITEM : Result = "WM_CHARTOITEM"
      Case #WM_CHILDACTIVATE : Result = "WM_CHILDACTIVATE"
      Case #WM_CHOOSEFONT_GETLOGFONT : Result = "WM_CHOOSEFONT_GETLOGFONT"
      Case #WM_CHOOSEFONT_SETFLAGS : Result = "WM_CHOOSEFONT_SETFLAGS"
      Case #WM_CHOOSEFONT_SETLOGFONT : Result = "WM_CHOOSEFONT_SETLOGFONT"
      Case #WM_CLEAR : Result = "WM_CLEAR"
      Case #WM_CLOSE : Result = "WM_CLOSE"
      Case #WM_COMMAND : Result = "WM_COMMAND"
      Case #WM_COMMNOTIFY : Result = "WM_COMMNOTIFY"
      Case #WM_COMPACTING : Result = "WM_COMPACTING"
      Case #WM_COMPAREITEM : Result = "WM_COMPAREITEM"
      Case #WM_CONTEXTMENU : Result = "WM_CONTEXTMENU"
      Case #WM_CONVERTREQUEST : Result = "WM_CONVERTREQUEST"
      Case #WM_CONVERTREQUESTEX : Result = "WM_CONVERTREQUESTEX"
      Case #WM_CONVERTRESULT : Result = "WM_CONVERTRESULT"
      Case #WM_COPY : Result = "WM_COPY"
      Case #WM_COPYDATA : Result = "WM_COPYDATA"
      Case #WM_CPL_LAUNCH : Result = "WM_CPL_LAUNCH"
      Case #WM_CPL_LAUNCHED : Result = "WM_CPL_LAUNCHED"
      Case #WM_CREATE : Result = "WM_CREATE"
      Case #WM_CTLCOLOR : Result = "WM_CTLCOLOR"
      Case #WM_CTLCOLORBTN : Result = "WM_CTLCOLORBTN"
      Case #WM_CTLCOLORDLG : Result = "WM_CTLCOLORDLG"
      Case #WM_CTLCOLOREDIT : Result = "WM_CTLCOLOREDIT"
      Case #WM_CTLCOLORLISTBOX : Result = "WM_CTLCOLORLISTBOX"
      Case #WM_CTLCOLORMSGBOX : Result = "WM_CTLCOLORMSGBOX"
      Case #WM_CTLCOLORSCROLLBAR : Result = "WM_CTLCOLORSCROLLBAR"
      Case #WM_CTLCOLORSTATIC : Result = "WM_CTLCOLORSTATIC"
      Case #WM_CUT : Result = "WM_CUT"
      Case #WM_DDE_ACK : Result = "WM_DDE_ACK"
      Case #WM_DDE_ADVISE : Result = "WM_DDE_ADVISE"
      Case #WM_DDE_DATA : Result = "WM_DDE_DATA"
      Case #WM_DDE_EXECUTE : Result = "WM_DDE_EXECUTE"
      Case #WM_DDE_FIRST : Result = "WM_DDE_FIRST"
      Case #WM_DDE_INITIATE : Result = "WM_DDE_INITIATE"
      Case #WM_DDE_LAST : Result = "WM_DDE_LAST"
      Case #WM_DDE_POKE : Result = "WM_DDE_POKE"
      Case #WM_DDE_REQUEST : Result = "WM_DDE_REQUEST"
      Case #WM_DDE_TERMINATE : Result = "WM_DDE_TERMINATE"
      Case #WM_DDE_UNADVISE : Result = "WM_DDE_UNADVISE"
      Case #WM_DEADCHAR : Result = "WM_DEADCHAR"
      Case #WM_DELETEITEM : Result = "WM_DELETEITEM"
      Case #WM_DESTROY : Result = "WM_DESTROY"
      Case #WM_DESTROYCLIPBOARD : Result = "WM_DESTROYCLIPBOARD"
      Case #WM_DEVICECHANGE : Result = "WM_DEVICECHANGE"
      Case #WM_DEVMODECHANGE : Result = "WM_DEVMODECHANGE"
      Case #WM_DISPLAYCHANGE : Result = "WM_DISPLAYCHANGE"
      Case #WM_DRAWCLIPBOARD : Result = "WM_DRAWCLIPBOARD"
      Case #WM_DRAWITEM : Result = "WM_DRAWITEM"
      Case #WM_DROPFILES : Result = "WM_DROPFILES"
      Case #WM_ENABLE : Result = "WM_ENABLE"
      Case #WM_ENDSESSION : Result = "WM_ENDSESSION"
      Case #WM_ENTERIDLE : Result = "WM_ENTERIDLE"
      Case #WM_ENTERMENULOOP : Result = "WM_ENTERMENULOOP"
      Case #WM_ENTERSIZEMOVE : Result = "WM_ENTERSIZEMOVE"
      Case #WM_ERASEBKGND : Result = "WM_ERASEBKGND"
      Case #WM_EXITMENULOOP : Result = "WM_EXITMENULOOP"
      Case #WM_EXITSIZEMOVE : Result = "WM_EXITSIZEMOVE"
      Case #WM_FONTCHANGE : Result = "WM_FONTCHANGE"
      Case #WM_FORWARDMSG : Result = "WM_FORWARDMSG"
      Case #WM_GETDLGCODE : Result = "WM_GETDLGCODE"
      Case #WM_GETFONT : Result = "WM_GETFONT"
      Case #WM_GETHOTKEY : Result = "WM_GETHOTKEY"
      Case #WM_GETICON : Result = "WM_GETICON"
      Case #WM_GETMINMAXINFO : Result = "WM_GETMINMAXINFO"
      Case #WM_GETOBJECT : Result = "WM_GETOBJECT"
      Case #WM_GETTEXT : Result = "WM_GETTEXT"
      Case #WM_GETTEXTLENGTH : Result = "WM_GETTEXTLENGTH"
      Case #WM_HANDHELDFIRST : Result = "WM_HANDHELDFIRST"
      Case #WM_HANDHELDLAST : Result = "WM_HANDHELDLAST"
      Case #WM_HELP : Result = "WM_HELP"
      Case #WM_HOTKEY : Result = "WM_HOTKEY"
      Case #WM_HSCROLL : Result = "WM_HSCROLL"
      Case #WM_HSCROLLCLIPBOARD : Result = "WM_HSCROLLCLIPBOARD"
      Case #WM_ICONERASEBKGND : Result = "WM_ICONERASEBKGND"
      Case #WM_IME_CHAR : Result = "WM_IME_CHAR"
      Case #WM_IME_COMPOSITION : Result = "WM_IME_COMPOSITION"
      Case #WM_IME_COMPOSITIONFULL : Result = "WM_IME_COMPOSITIONFULL"
      Case #WM_IME_CONTROL : Result = "WM_IME_CONTROL"
      Case #WM_IME_ENDCOMPOSITION : Result = "WM_IME_ENDCOMPOSITION"
      Case #WM_IME_KEYDOWN : Result = "WM_IME_KEYDOWN"
      Case #WM_IME_KEYLAST : Result = "WM_IME_KEYLAST"
      Case #WM_IME_KEYUP : Result = "WM_IME_KEYUP"
      Case #WM_IME_NOTIFY : Result = "WM_IME_NOTIFY"
      Case #WM_IME_REPORT : Result = "WM_IME_REPORT"
      Case #WM_IME_REQUEST : Result = "WM_IME_REQUEST"
      Case #WM_IME_SELECT : Result = "WM_IME_SELECT"
      Case #WM_IME_SETCONTEXT : Result = "WM_IME_SETCONTEXT"
      Case #WM_IME_STARTCOMPOSITION : Result = "WM_IME_STARTCOMPOSITION"
      Case #WM_IMEKEYDOWN : Result = "WM_IMEKEYDOWN"
      Case #WM_IMEKEYUP : Result = "WM_IMEKEYUP"
      Case #WM_INITDIALOG : Result = "WM_INITDIALOG"
      Case #WM_INITMENU : Result = "WM_INITMENU"
      Case #WM_INITMENUPOPUP : Result = "WM_INITMENUPOPUP"
      Case #WM_INPUTLANGCHANGE : Result = "WM_INPUTLANGCHANGE"
      Case #WM_INPUTLANGCHANGEREQUEST : Result = "WM_INPUTLANGCHANGEREQUEST"
      Case #WM_INTERIM : Result = "WM_INTERIM"
      Case #WM_KEYDOWN : Result = "WM_KEYDOWN"
      Case #WM_KEYFIRST : Result = "WM_KEYFIRST"
      Case #WM_KEYLAST : Result = "WM_KEYLAST"
      Case #WM_KEYUP : Result = "WM_KEYUP"
      Case #WM_KILLFOCUS : Result = "WM_KILLFOCUS"
      Case #WM_LBUTTONDBLCLK : Result = "WM_LBUTTONDBLCLK"
      Case #WM_LBUTTONDOWN : Result = "WM_LBUTTONDOWN"
      Case #WM_LBUTTONUP : Result = "WM_LBUTTONUP"
      Case #WM_MBUTTONDBLCLK : Result = "WM_MBUTTONDBLCLK"
      Case #WM_MBUTTONDOWN : Result = "WM_MBUTTONDOWN"
      Case #WM_MBUTTONUP : Result = "WM_MBUTTONUP"
      Case #WM_MDIACTIVATE : Result = "WM_MDIACTIVATE"
      Case #WM_MDICASCADE : Result = "WM_MDICASCADE"
      Case #WM_MDICREATE : Result = "WM_MDICREATE"
      Case #WM_MDIDESTROY : Result = "WM_MDIDESTROY"
      Case #WM_MDIGETACTIVE : Result = "WM_MDIGETACTIVE"
      Case #WM_MDIICONARRANGE : Result = "WM_MDIICONARRANGE"
      Case #WM_MDIMAXIMIZE : Result = "WM_MDIMAXIMIZE"
      Case #WM_MDINEXT : Result = "WM_MDINEXT"
      Case #WM_MDIREFRESHMENU : Result = "WM_MDIREFRESHMENU"
      Case #WM_MDIRESTORE : Result = "WM_MDIRESTORE"
      Case #WM_MDISETMENU : Result = "WM_MDISETMENU"
      Case #WM_MDITILE : Result = "WM_MDITILE"
      Case #WM_MEASUREITEM : Result = "WM_MEASUREITEM"
      Case #WM_MENUCHAR : Result = "WM_MENUCHAR"
      Case #WM_MENUCOMMAND : Result = "WM_MENUCOMMAND"
      Case #WM_MENUDRAG : Result = "WM_MENUDRAG"
      Case #WM_MENUGETOBJECT : Result = "WM_MENUGETOBJECT"
      Case #WM_MENURBUTTONUP : Result = "WM_MENURBUTTONUP"
      Case #WM_MENUSELECT : Result = "WM_MENUSELECT"
      Case #WM_MOUSEACTIVATE : Result = "WM_MOUSEACTIVATE"
      Case #WM_MOUSEFIRST : Result = "WM_MOUSEFIRST"
      Case #WM_MOUSEHOVER : Result = "WM_MOUSEHOVER"
      Case #WM_MOUSELAST : Result = "WM_MOUSELAST"
      Case #WM_MOUSELEAVE : Result = "WM_MOUSELEAVE"
      Case #WM_MOUSEMOVE : Result = "WM_MOUSEMOVE"
      Case #WM_MOUSEWHEEL : Result = "WM_MOUSEWHEEL"
      Case #WM_MOVE : Result = "WM_MOVE"
      Case #WM_MOVING : Result = "WM_MOVING"
      Case #WM_NCACTIVATE : Result = "WM_NCACTIVATE"
      Case #WM_NCCALCSIZE : Result = "WM_NCCALCSIZE"
      Case #WM_NCCREATE : Result = "WM_NCCREATE"
      Case #WM_NCDESTROY : Result = "WM_NCDESTROY"
      Case #WM_NCHITTEST : Result = "WM_NCHITTEST"
      Case #WM_NCLBUTTONDBLCLK : Result = "WM_NCLBUTTONDBLCLK"
      Case #WM_NCLBUTTONDOWN : Result = "WM_NCLBUTTONDOWN"
      Case #WM_NCLBUTTONUP : Result = "WM_NCLBUTTONUP"
      Case #WM_NCMBUTTONDBLCLK : Result = "WM_NCMBUTTONDBLCLK"
      Case #WM_NCMBUTTONDOWN : Result = "WM_NCMBUTTONDOWN"
      Case #WM_NCMBUTTONUP : Result = "WM_NCMBUTTONUP"
      Case #WM_NCMOUSEHOVER : Result = "WM_NCMOUSEHOVER"
      Case #WM_NCMOUSELEAVE : Result = "WM_NCMOUSELEAVE"
      Case #WM_NCMOUSEMOVE : Result = "WM_NCMOUSEMOVE"
      Case #WM_NCPAINT : Result = "WM_NCPAINT"
      Case #WM_NCRBUTTONDBLCLK : Result = "WM_NCRBUTTONDBLCLK"
      Case #WM_NCRBUTTONDOWN : Result = "WM_NCRBUTTONDOWN"
      Case #WM_NCRBUTTONUP : Result = "WM_NCRBUTTONUP"
      Case #WM_NCXBUTTONDBLCLK : Result = "WM_NCXBUTTONDBLCLK"
      Case #WM_NCXBUTTONDOWN : Result = "WM_NCXBUTTONDOWN"
      Case #WM_NCXBUTTONUP : Result = "WM_NCXBUTTONUP"
      Case #WM_NEXTDLGCTL : Result = "WM_NEXTDLGCTL"
      Case #WM_NEXTMENU : Result = "WM_NEXTMENU"
      Case #WM_NOTIFY : Result = "WM_NOTIFY"
      Case #WM_NOTIFYFORMAT : Result = "WM_NOTIFYFORMAT"
      Case #WM_NULL : Result = "WM_NULL"
      Case #WM_OTHERWINDOWCREATED : Result = "WM_OTHERWINDOWCREATED"
      Case #WM_OTHERWINDOWDESTROYED : Result = "WM_OTHERWINDOWDESTROYED"
      Case #WM_PAINT : Result = "WM_PAINT"
      Case #WM_PAINTCLIPBOARD : Result = "WM_PAINTCLIPBOARD"
      Case #WM_PAINTICON : Result = "WM_PAINTICON"
      Case #WM_PALETTECHANGED : Result = "WM_PALETTECHANGED"
      Case #WM_PALETTEISCHANGING : Result = "WM_PALETTEISCHANGING"
      Case #WM_PARENTNOTIFY : Result = "WM_PARENTNOTIFY"
      Case #WM_PASTE : Result = "WM_PASTE"
      Case #WM_PENWINFIRST : Result = "WM_PENWINFIRST"
      Case #WM_PENWINLAST : Result = "WM_PENWINLAST"
      Case #WM_POWER : Result = "WM_POWER"
      Case #WM_POWERBROADCAST : Result = "WM_POWERBROADCAST"
      Case #WM_PRINT : Result = "WM_PRINT"
      Case #WM_PRINTCLIENT : Result = "WM_PRINTCLIENT"
      Case #WM_PSD_ENVSTAMPRECT : Result = "WM_PSD_ENVSTAMPRECT"
      Case #WM_PSD_FULLPAGERECT : Result = "WM_PSD_FULLPAGERECT"
      Case #WM_PSD_GREEKTEXTRECT : Result = "WM_PSD_GREEKTEXTRECT"
      Case #WM_PSD_MARGINRECT : Result = "WM_PSD_MARGINRECT"
      Case #WM_PSD_MINMARGINRECT : Result = "WM_PSD_MINMARGINRECT"
      Case #WM_PSD_PAGESETUPDLG : Result = "WM_PSD_PAGESETUPDLG"
      Case #WM_PSD_YAFULLPAGERECT : Result = "WM_PSD_YAFULLPAGERECT"
      Case #WM_QUERYDRAGICON : Result = "WM_QUERYDRAGICON"
      Case #WM_QUERYENDSESSION : Result = "WM_QUERYENDSESSION"
      Case #WM_QUERYNEWPALETTE : Result = "WM_QUERYNEWPALETTE"
      Case #WM_QUERYOPEN : Result = "WM_QUERYOPEN"
      Case #WM_QUERYUISTATE : Result = "WM_QUERYUISTATE"
      Case #WM_QUEUESYNC : Result = "WM_QUEUESYNC"
      Case #WM_QUIT : Result = "WM_QUIT"
      Case #WM_RASDIALEVENT : Result = "WM_RASDIALEVENT"
      Case #WM_RBUTTONDBLCLK : Result = "WM_RBUTTONDBLCLK"
      Case #WM_RBUTTONDOWN : Result = "WM_RBUTTONDOWN"
      Case #WM_RBUTTONUP : Result = "WM_RBUTTONUP"
      Case #WM_RENDERALLFORMATS : Result = "WM_RENDERALLFORMATS"
      Case #WM_RENDERFORMAT : Result = "WM_RENDERFORMAT"
      Case #WM_SETCURSOR : Result = "WM_SETCURSOR"
      Case #WM_SETFOCUS : Result = "WM_SETFOCUS"
      Case #WM_SETFONT : Result = "WM_SETFONT"
      Case #WM_SETHOTKEY : Result = "WM_SETHOTKEY"
      Case #WM_SETICON : Result = "WM_SETICON"
      Case #WM_SETREDRAW : Result = "WM_SETREDRAW"
      Case #WM_SETTEXT : Result = "WM_SETTEXT"
      Case #WM_SETTINGCHANGE : Result = "WM_SETTINGCHANGE"
      Case #WM_SHOWWINDOW : Result = "WM_SHOWWINDOW"
      Case #WM_SIZE : Result = "WM_SIZE"
      Case #WM_SIZECLIPBOARD : Result = "WM_SIZECLIPBOARD"
      Case #WM_SIZING : Result = "WM_SIZING"
      Case #WM_SPOOLERSTATUS : Result = "WM_SPOOLERSTATUS"
      Case #WM_STYLECHANGED : Result = "WM_STYLECHANGED"
      Case #WM_STYLECHANGING : Result = "WM_STYLECHANGING"
      Case #WM_SYNCPAINT : Result = "WM_SYNCPAINT"
      Case #WM_SYSCHAR : Result = "WM_SYSCHAR"
      Case #WM_SYSCOLORCHANGE : Result = "WM_SYSCOLORCHANGE"
      Case #WM_SYSCOMMAND : Result = "WM_SYSCOMMAND"
      Case #WM_SYSDEADCHAR : Result = "WM_SYSDEADCHAR"
      Case #WM_SYSKEYDOWN : Result = "WM_SYSKEYDOWN"
      Case #WM_SYSKEYUP : Result = "WM_SYSKEYUP"
      Case #WM_TCARD : Result = "WM_TCARD"
      Case #WM_TIMECHANGE : Result = "WM_TIMECHANGE"
      Case #WM_TIMER : Result = "WM_TIMER"
      Case #WM_UNDO : Result = "WM_UNDO"
      Case #WM_UNINITMENUPOPUP : Result = "WM_UNINITMENUPOPUP"
      Case #WM_UPDATEUISTATE : Result = "WM_UPDATEUISTATE"
      Case #WM_USER : Result = "WM_USER"
      Case #WM_USERCHANGED : Result = "WM_USERCHANGED"
      Case #WM_VKEYTOITEM : Result = "WM_VKEYTOITEM"
      Case #WM_VSCROLL : Result = "WM_VSCROLL"
      Case #WM_VSCROLLCLIPBOARD : Result = "WM_VSCROLLCLIPBOARD"
      Case #WM_WINDOWPOSCHANGED : Result = "WM_WINDOWPOSCHANGED"
      Case #WM_WINDOWPOSCHANGING : Result = "WM_WINDOWPOSCHANGING"
      Case #WM_WININICHANGE : Result = "WM_WININICHANGE"
      Case #WM_WNT_CONVERTREQUESTEX : Result = "WM_WNT_CONVERTREQUESTEX"
      Case #WM_XBUTTONDBLCLK : Result = "WM_XBUTTONDBLCLK"
      Case #WM_XBUTTONDOWN : Result = "WM_XBUTTONDOWN"
      Case #WM_XBUTTONUP : Result = "WM_XBUTTONUP"
      Default
        Result="*Unknown Message*"
    EndSelect
  EndIf
  ProcedureReturn ClassName+"->"+Result
EndProcedure

Procedure Callback(WindowID, Message, wParam, lParam) 
  Result = #PB_ProcessPureBasicEvents 
  Debug DecodeWindowMessage(WindowID,Message,wParam,lParam) 
  ProcedureReturn Result 
EndProcedure 

If OpenWindow(0, 0, 0, 100, 100, #PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget, "Split Picture") Or Die("Failed to Open Window") 
  SetWindowCallback(@Callback()) 
EndIf 

Repeat 
  evt = WaitWindowEvent() 
Until evt = #PB_Event_CloseWindow 
Last edited by PolyVector on Sun Sep 05, 2004 5:09 am, edited 5 times in total.
PolyVector
Enthusiast
Enthusiast
Posts: 499
Joined: Wed Sep 17, 2003 9:17 pm
Location: Southern California
Contact:

Post by PolyVector »

And here's Constants.pb It's bulky because I ripped all the constants from APIViewer... Half of them are already defined in PB so I suppose that's a waste... Maybe we can clean it up? :oops:

Code: Select all

#WM_ACTIVATE = $6
#WM_ACTIVATEAPP = $1C
#WM_ADSPROP_NOTIFY_APPLY = (#WM_USER + 1104)
#WM_ADSPROP_NOTIFY_CHANGE = (#WM_USER + 1103)
#WM_ADSPROP_NOTIFY_ERROR = (#WM_USER + 1110)
#WM_ADSPROP_NOTIFY_EXIT = (#WM_USER + 1107)
#WM_ADSPROP_NOTIFY_FOREGROUND = (#WM_USER + 1106)
#WM_ADSPROP_NOTIFY_PAGEHWND = (#WM_USER + 1102)
#WM_ADSPROP_NOTIFY_PAGEINIT = (#WM_USER + 1101)
#WM_ADSPROP_NOTIFY_SETFOCUS = (#WM_USER + 1105)
#WM_ADSPROP_NOTIFY_SHOW_ERROR_DIALOG = (#WM_USER + 1111)
#WM_AFXFIRST = $360
#WM_AFXLAST = $37F
#WM_APP = $8000
#WM_APPCOMMAND = $319
#WM_ASKCBFORMATNAME = $30C
#WM_CANCELJOURNAL = $4B
#WM_CANCELMODE = $1F
#WM_CAP_START = #WM_USER
#WM_CAP_UNICODE_START = #WM_USER+100
#WM_CAP_ABORT = (#WM_CAP_START+ 69)
#WM_CAP_DLG_VIDEOCOMPRESSION = (#WM_CAP_START+ 46)
#WM_CAP_DLG_VIDEODISPLAY = (#WM_CAP_START+ 43)
#WM_CAP_DLG_VIDEOFORMAT = (#WM_CAP_START+ 41)
#WM_CAP_DLG_VIDEOSOURCE = (#WM_CAP_START+ 42)
#WM_CAP_DRIVER_CONNECT = (#WM_CAP_START+ 10)
#WM_CAP_DRIVER_DISCONNECT = (#WM_CAP_START+ 11)
#WM_CAP_DRIVER_GET_CAPS = (#WM_CAP_START+ 14)
#WM_CAP_DRIVER_GET_NAMEA = (#WM_CAP_START+ 12)
#WM_CAP_DRIVER_GET_NAMEW = (#WM_CAP_UNICODE_START+ 12)
#WM_CAP_DRIVER_GET_VERSIONA = (#WM_CAP_START+ 13)
#WM_CAP_DRIVER_GET_VERSIONW = (#WM_CAP_UNICODE_START+ 13)
#WM_CAP_EDIT_COPY = (#WM_CAP_START+ 30)
#WM_CAP_FILE_ALLOCATE = (#WM_CAP_START+ 22)
#WM_CAP_FILE_GET_CAPTURE_FILEA = (#WM_CAP_START+ 21)
#WM_CAP_FILE_GET_CAPTURE_FILEW = (#WM_CAP_UNICODE_START+ 21)
#WM_CAP_FILE_SAVEASA = (#WM_CAP_START+ 23)
#WM_CAP_FILE_SAVEASW = (#WM_CAP_UNICODE_START+ 23)
#WM_CAP_FILE_SAVEDIBA = (#WM_CAP_START+ 25)
#WM_CAP_FILE_SAVEDIBW = (#WM_CAP_UNICODE_START+ 25)
#WM_CAP_FILE_SET_CAPTURE_FILEA = (#WM_CAP_START+ 20)
#WM_CAP_FILE_SET_CAPTURE_FILEW = (#WM_CAP_UNICODE_START+ 20)
#WM_CAP_FILE_SET_INFOCHUNK = (#WM_CAP_START+ 24)
#WM_CAP_GET_AUDIOFORMAT = (#WM_CAP_START+ 36)
#WM_CAP_GET_CAPSTREAMPTR = (#WM_CAP_START+ 1)
#WM_CAP_GET_MCI_DEVICEA = (#WM_CAP_START+ 67)
#WM_CAP_GET_MCI_DEVICEW = (#WM_CAP_UNICODE_START+ 67)
#WM_CAP_GET_SEQUENCE_SETUP = (#WM_CAP_START+ 65)
#WM_CAP_GET_STATUS = (#WM_CAP_START+ 54)
#WM_CAP_GET_USER_DATA = (#WM_CAP_START+ 8)
#WM_CAP_GET_VIDEOFORMAT = (#WM_CAP_START+ 44)
#WM_CAP_GRAB_FRAME = (#WM_CAP_START+ 60)
#WM_CAP_GRAB_FRAME_NOSTOP = (#WM_CAP_START+ 61)
#WM_CAP_PAL_AUTOCREATE = (#WM_CAP_START+ 83)
#WM_CAP_PAL_MANUALCREATE = (#WM_CAP_START+ 84)
#WM_CAP_PAL_OPENA = (#WM_CAP_START+ 80)
#WM_CAP_PAL_OPENW = (#WM_CAP_UNICODE_START+ 80)
#WM_CAP_PAL_PASTE = (#WM_CAP_START+ 82)
#WM_CAP_PAL_SAVEA = (#WM_CAP_START+ 81)
#WM_CAP_PAL_SAVEW = (#WM_CAP_UNICODE_START+ 81)
#WM_CAP_SEQUENCE = (#WM_CAP_START+ 62)
#WM_CAP_SEQUENCE_NOFILE = (#WM_CAP_START+ 63)
#WM_CAP_SET_AUDIOFORMAT = (#WM_CAP_START+ 35)
#WM_CAP_SET_CALLBACK_CAPCONTROL = (#WM_CAP_START+ 85)
#WM_CAP_SET_CALLBACK_ERRORA = (#WM_CAP_START+ 2)
#WM_CAP_SET_CALLBACK_ERRORW = (#WM_CAP_UNICODE_START+ 2)
#WM_CAP_SET_CALLBACK_FRAME = (#WM_CAP_START+ 5)
#WM_CAP_SET_CALLBACK_STATUSA = (#WM_CAP_START+ 3)
#WM_CAP_SET_CALLBACK_STATUSW = (#WM_CAP_UNICODE_START+ 3)
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = (#WM_CAP_START+ 6)
#WM_CAP_SET_CALLBACK_WAVESTREAM = (#WM_CAP_START+ 7)
#WM_CAP_SET_CALLBACK_YIELD = (#WM_CAP_START+ 4)
#WM_CAP_SET_MCI_DEVICEA = (#WM_CAP_START+ 66)
#WM_CAP_SET_MCI_DEVICEW = (#WM_CAP_UNICODE_START+ 66)
#WM_CAP_SET_OVERLAY = (#WM_CAP_START+ 51)
#WM_CAP_SET_PREVIEW = (#WM_CAP_START+ 50)
#WM_CAP_SET_PREVIEWRATE = (#WM_CAP_START+ 52)
#WM_CAP_SET_SCALE = (#WM_CAP_START+ 53)
#WM_CAP_SET_SCROLL = (#WM_CAP_START+ 55)
#WM_CAP_SET_SEQUENCE_SETUP = (#WM_CAP_START+ 64)
#WM_CAP_SET_USER_DATA = (#WM_CAP_START+ 9)
#WM_CAP_SET_VIDEOFORMAT = (#WM_CAP_START+ 45)
#WM_CAP_SINGLE_FRAME = (#WM_CAP_START+ 72)
#WM_CAP_SINGLE_FRAME_CLOSE = (#WM_CAP_START+ 71)
#WM_CAP_SINGLE_FRAME_OPEN = (#WM_CAP_START+ 70)
#WM_CAP_STOP = (#WM_CAP_START+ 68)
#WM_CAP_UNICODE_END = #WM_CAP_PAL_SAVEW
#WM_CAP_END = #WM_CAP_UNICODE_END
#WM_CAPTURECHANGED = $215
#WM_CHANGECBCHAIN = $30D
#WM_CHANGEUISTATE = $127
#WM_CHAR = $102
#WM_CHARTOITEM = $2F
#WM_CHILDACTIVATE = $22
#WM_CHOOSEFONT_GETLOGFONT = (#WM_USER + 1)
#WM_CHOOSEFONT_SETFLAGS = (#WM_USER + 102)
#WM_CHOOSEFONT_SETLOGFONT = (#WM_USER + 101)
#WM_CLEAR = $303
#WM_CLOSE = $10
#WM_COMMAND = $111
#WM_COMMNOTIFY = $44
#WM_COMPACTING = $41
#WM_COMPAREITEM = $39
#WM_CONTEXTMENU = $7B
#WM_CONVERTREQUEST = $10A
#WM_CONVERTREQUESTEX = $108
#WM_CONVERTRESULT = $10B
#WM_COPY = $301
#WM_COPYDATA = $4A
#WM_CPL_LAUNCH = (#WM_USER+1000)
#WM_CPL_LAUNCHED = (#WM_USER+1001)
#WM_CREATE = $1
#WM_CTLCOLOR = $19
#WM_CTLCOLORBTN = $135
#WM_CTLCOLORDLG = $136
#WM_CTLCOLOREDIT = $133
#WM_CTLCOLORLISTBOX = $134
#WM_CTLCOLORMSGBOX = $132
#WM_CTLCOLORSCROLLBAR = $137
#WM_CTLCOLORSTATIC = $138
#WM_CUT = $300
#WM_DDE_ACK = (#WM_DDE_FIRST + 4)
#WM_DDE_ADVISE = (#WM_DDE_FIRST + 2)
#WM_DDE_DATA = (#WM_DDE_FIRST + 5)
#WM_DDE_EXECUTE = (#WM_DDE_FIRST + 8)
#WM_DDE_FIRST = $3E0
#WM_DDE_INITIATE = (#WM_DDE_FIRST)
#WM_DDE_LAST = (#WM_DDE_FIRST + 8)
#WM_DDE_POKE = (#WM_DDE_FIRST + 7)
#WM_DDE_REQUEST = (#WM_DDE_FIRST + 6)
#WM_DDE_TERMINATE = (#WM_DDE_FIRST + 1)
#WM_DDE_UNADVISE = (#WM_DDE_FIRST + 3)
#WM_DEADCHAR = $103
#WM_DELETEITEM = $2D
#WM_DESTROY = $2
#WM_DESTROYCLIPBOARD = $307
#WM_DEVICECHANGE = $219
#WM_DEVMODECHANGE = $1B
#WM_DISPLAYCHANGE = $7E
#WM_DRAWCLIPBOARD = $308
#WM_DRAWITEM = $2B
#WM_DROPFILES = $233
#WM_ENABLE = $A
#WM_ENDSESSION = $16
#WM_ENTERIDLE = $121
#WM_ENTERMENULOOP = $211
#WM_ENTERSIZEMOVE = $231
#WM_ERASEBKGND = $14
#WM_EXITMENULOOP = $212
#WM_EXITSIZEMOVE = $232
#WM_FONTCHANGE = $1D
#WM_FORWARDMSG = $37F
#WM_GETDLGCODE = $87
#WM_GETFONT = $31
#WM_GETHOTKEY = $33
#WM_GETICON = $7F
#WM_GETMINMAXINFO = $24
#WM_GETOBJECT = $3D
#WM_GETTEXT = $D
#WM_GETTEXTLENGTH = $E
#WM_HANDHELDFIRST = $358
#WM_HANDHELDLAST = $35F
#WM_HELP = $53
#WM_HOTKEY = $312
#WM_HSCROLL = $114
#WM_HSCROLLCLIPBOARD = $30E
#WM_ICONERASEBKGND = $27
#WM_IME_CHAR = $286
#WM_IME_COMPOSITION = $10F
#WM_IME_COMPOSITIONFULL = $284
#WM_IME_CONTROL = $283
#WM_IME_ENDCOMPOSITION = $10E
#WM_IME_KEYDOWN = $290
#WM_IME_KEYLAST = $10F
#WM_IME_KEYUP = $291
#WM_IME_NOTIFY = $282
#WM_IME_REPORT = $280
#WM_IME_REQUEST = $288
#WM_IME_SELECT = $285
#WM_IME_SETCONTEXT = $281
#WM_IME_STARTCOMPOSITION = $10D
#WM_IMEKEYDOWN = $290
#WM_IMEKEYUP = $291
#WM_INITDIALOG = $110
#WM_INITMENU = $116
#WM_INITMENUPOPUP = $117
#WM_INPUTLANGCHANGE = $51
#WM_INPUTLANGCHANGEREQUEST = $50
#WM_INTERIM = $10C
#WM_KEYDOWN = $100
#WM_KEYFIRST = $100
#WM_KEYLAST = $108
#WM_KEYUP = $101
#WM_KILLFOCUS = $8
#WM_LBUTTONDBLCLK = $203
#WM_LBUTTONDOWN = $201
#WM_LBUTTONUP = $202
#WM_MBUTTONDBLCLK = $209
#WM_MBUTTONDOWN = $207
#WM_MBUTTONUP = $208
#WM_MDIACTIVATE = $222
#WM_MDICASCADE = $227
#WM_MDICREATE = $220
#WM_MDIDESTROY = $221
#WM_MDIGETACTIVE = $229
#WM_MDIICONARRANGE = $228
#WM_MDIMAXIMIZE = $225
#WM_MDINEXT = $224
#WM_MDIREFRESHMENU = $234
#WM_MDIRESTORE = $223
#WM_MDISETMENU = $230
#WM_MDITILE = $226
#WM_MEASUREITEM = $2C
#WM_MENUCHAR = $120
#WM_MENUCOMMAND = $126
#WM_MENUDRAG = $123
#WM_MENUGETOBJECT = $124
#WM_MENURBUTTONUP = $122
#WM_MENUSELECT = $11F
#WM_MOUSEACTIVATE = $21
#WM_MOUSEFIRST = $200
#WM_MOUSEHOVER = $2A1
#WM_MOUSELAST = $209
#WM_MOUSELEAVE = $2A3
#WM_MOUSEMOVE = $200
#WM_MOUSEWHEEL = $20A
#WM_MOVE = $3
#WM_MOVING = $216
#WM_NCACTIVATE = $86
#WM_NCCALCSIZE = $83
#WM_NCCREATE = $81
#WM_NCDESTROY = $82
#WM_NCHITTEST = $84
#WM_NCLBUTTONDBLCLK = $A3
#WM_NCLBUTTONDOWN = $A1
#WM_NCLBUTTONUP = $A2
#WM_NCMBUTTONDBLCLK = $A9
#WM_NCMBUTTONDOWN = $A7
#WM_NCMBUTTONUP = $A8
#WM_NCMOUSEHOVER = $2A0
#WM_NCMOUSELEAVE = $2A2
#WM_NCMOUSEMOVE = $A0
#WM_NCPAINT = $85
#WM_NCRBUTTONDBLCLK = $A6
#WM_NCRBUTTONDOWN = $A4
#WM_NCRBUTTONUP = $A5
#WM_NCXBUTTONDBLCLK = $AD
#WM_NCXBUTTONDOWN = $AB
#WM_NCXBUTTONUP = $AC
#WM_NEXTDLGCTL = $28
#WM_NEXTMENU = $213
#WM_NOTIFY = $4E
#WM_NOTIFYFORMAT = $55
#WM_NULL = $0
#WM_OTHERWINDOWCREATED = $42
#WM_OTHERWINDOWDESTROYED = $43
#WM_PAINT = $F
#WM_PAINTCLIPBOARD = $309
#WM_PAINTICON = $26
#WM_PALETTECHANGED = $311
#WM_PALETTEISCHANGING = $310
#WM_PARENTNOTIFY = $210
#WM_PASTE = $302
#WM_PENWINFIRST = $380
#WM_PENWINLAST = $38F
#WM_POWER = $48
#WM_POWERBROADCAST = $218
#WM_PRINT = $317
#WM_PRINTCLIENT = $318
#WM_PSD_ENVSTAMPRECT = (#WM_USER + 5)
#WM_PSD_FULLPAGERECT = (#WM_USER + 1)
#WM_PSD_GREEKTEXTRECT = (#WM_USER + 4)
#WM_PSD_MARGINRECT = (#WM_USER + 3)
#WM_PSD_MINMARGINRECT = (#WM_USER + 2)
#WM_PSD_PAGESETUPDLG = (#WM_USER)
#WM_PSD_YAFULLPAGERECT = (#WM_USER + 6)
#WM_QUERYDRAGICON = $37
#WM_QUERYENDSESSION = $11
#WM_QUERYNEWPALETTE = $30F
#WM_QUERYOPEN = $13
#WM_QUERYUISTATE = $129
#WM_QUEUESYNC = $23
#WM_QUIT = $12
#WM_RASDIALEVENT = $CCCD
#WM_RBUTTONDBLCLK = $206
#WM_RBUTTONDOWN = $204
#WM_RBUTTONUP = $205
#WM_RENDERALLFORMATS = $306
#WM_RENDERFORMAT = $305
#WM_SETCURSOR = $20
#WM_SETFOCUS = $7
#WM_SETFONT = $30
#WM_SETHOTKEY = $32
#WM_SETICON = $80
#WM_SETREDRAW = $B
#WM_SETTEXT = $C
#WM_SETTINGCHANGE = #WM_WININICHANGE
#WM_SHOWWINDOW = $18
#WM_SIZE = $5
#WM_SIZECLIPBOARD = $30B
#WM_SIZING = $214
#WM_SPOOLERSTATUS = $2A
#WM_STYLECHANGED = $7D
#WM_STYLECHANGING = $7C
#WM_SYNCPAINT = $88
#WM_SYSCHAR = $106
#WM_SYSCOLORCHANGE = $15
#WM_SYSCOMMAND = $112
#WM_SYSDEADCHAR = $107
#WM_SYSKEYDOWN = $104
#WM_SYSKEYUP = $105
#WM_TCARD = $52
#WM_TIMECHANGE = $1E
#WM_TIMER = $113
#WM_UNDO = $304
#WM_UNINITMENUPOPUP = $125
#WM_UPDATEUISTATE = $128
#WM_USER = $400
#WM_USERCHANGED = $54
#WM_VKEYTOITEM = $2E
#WM_VSCROLL = $115
#WM_VSCROLLCLIPBOARD = $30A
#WM_WINDOWPOSCHANGED = $47
#WM_WINDOWPOSCHANGING = $46
#WM_WININICHANGE = $1A
#WM_WNT_CONVERTREQUESTEX = $109
#WM_XBUTTONDBLCLK = $20D
#WM_XBUTTONDOWN = $20B
#WM_XBUTTONUP = $20C


;-Button
#BM_CLICK = $F5
#BM_GETCHECK = $F0
#BM_GETIMAGE = $F6
#BM_GETSTATE = $F2
#BM_SETCHECK = $F1
#BM_SETIMAGE = $F7
#BM_SETSTATE = $F3
#BM_SETSTYLE = $F4

;-ListView32
#LVM_GETCOLUMNA = (#LVM_FIRST + 25)
#LVM_GETCOLUMNORDERARRAY = (#LVM_FIRST + 59)
#LVM_GETCOLUMNW = (#LVM_FIRST + 95)
#LVM_GETCOLUMNWIDTH = (#LVM_FIRST + 29)
#LVM_GETCOUNTPERPAGE = (#LVM_FIRST + 40)
#LVM_GETEDITCONTROL = (#LVM_FIRST + 24)
#LVM_GETEXTENDEDLISTVIEWSTYLE = (#LVM_FIRST + 55)
#LVM_GETGROUPINFO = (#LVM_FIRST + 149)
#LVM_GETGROUPMETRICS = (#LVM_FIRST + 156)
#LVM_GETHEADER = (#LVM_FIRST + 31)
#LVM_GETHOTCURSOR = (#LVM_FIRST + 63)
#LVM_GETHOTITEM = (#LVM_FIRST + 61)
#LVM_GETHOVERTIME = (#LVM_FIRST + 72)
#LVM_GETIMAGELIST = (#LVM_FIRST + 2)
#LVM_GETINSERTMARK = (#LVM_FIRST + 167)
#LVM_GETINSERTMARKCOLOR = (#LVM_FIRST + 171)
#LVM_GETINSERTMARKRECT = (#LVM_FIRST + 169)
#LVM_GETISEARCHSTRINGA = (#LVM_FIRST + 52)
#LVM_GETISEARCHSTRINGW = (#LVM_FIRST + 117)
#LVM_GETITEMA = (#LVM_FIRST + 5)
#LVM_GETITEMCOUNT = (#LVM_FIRST + 4)
#LVM_GETITEMPOSITION = (#LVM_FIRST + 16)
#LVM_GETITEMRECT = (#LVM_FIRST + 14)
#LVM_GETITEMSPACING = (#LVM_FIRST + 51)
#LVM_GETITEMSTATE = (#LVM_FIRST + 44)
#LVM_GETITEMTEXTA = (#LVM_FIRST + 45)
#LVM_GETITEMTEXTW = (#LVM_FIRST + 115)
#LVM_GETITEMW = (#LVM_FIRST + 75)
#LVM_GETNEXTITEM = (#LVM_FIRST + 12)
#LVM_GETNUMBEROFWORKAREAS = (#LVM_FIRST + 73)
#LVM_GETORIGIN = (#LVM_FIRST + 41)
#LVM_GETOUTLINECOLOR = (#LVM_FIRST + 176)
#LVM_GETSELECTEDCOLUMN = (#LVM_FIRST + 174)
#LVM_GETSELECTEDCOUNT = (#LVM_FIRST + 50)
#LVM_GETSELECTIONMARK = (#LVM_FIRST + 66)
#LVM_GETSTRINGWIDTHA = (#LVM_FIRST + 17)
#LVM_GETSTRINGWIDTHW = (#LVM_FIRST + 87)
#LVM_GETSUBITEMRECT = (#LVM_FIRST + 56)
#LVM_GETTEXTBKCOLOR = (#LVM_FIRST + 37)
#LVM_GETTEXTCOLOR = (#LVM_FIRST + 35)
#LVM_GETTILEINFO = (#LVM_FIRST + 165)
#LVM_GETTILEVIEWINFO = (#LVM_FIRST + 163)
#LVM_GETTOOLTIPS = (#LVM_FIRST + 78)
#LVM_GETTOPINDEX = (#LVM_FIRST + 39)
#LVM_GETUNICODEFORMAT = #CCM_GETUNICODEFORMAT
#LVM_GETVIEW = (#LVM_FIRST + 143)
#LVM_GETVIEWRECT = (#LVM_FIRST + 34)
#LVM_GETWORKAREAS = (#LVM_FIRST + 70)
#LVM_HASGROUP = (#LVM_FIRST + 161)
#LVM_HITTEST = (#LVM_FIRST + 18)
#LVM_INSERTCOLUMNA = (#LVM_FIRST + 27)
#LVM_INSERTCOLUMNW = (#LVM_FIRST + 97)
#LVM_INSERTGROUP = (#LVM_FIRST + 145)
#LVM_INSERTGROUPSORTED = (#LVM_FIRST + 159)
#LVM_INSERTITEMA = (#LVM_FIRST + 7)
#LVM_INSERTITEMW = (#LVM_FIRST + 77)
#LVM_INSERTMARKHITTEST = (#LVM_FIRST + 168)
#LVM_ISGROUPVIEWENABLED = (#LVM_FIRST + 175)
#LVM_MOVEGROUP = (#LVM_FIRST + 151)
#LVM_MOVEITEMTOGROUP = (#LVM_FIRST + 154)
#LVM_REDRAWITEMS = (#LVM_FIRST + 21)
#LVM_REMOVEALLGROUPS = (#LVM_FIRST + 160)
#LVM_REMOVEGROUP = (#LVM_FIRST + 150)
#LVM_SCROLL = (#LVM_FIRST + 20)
#LVM_SETBKCOLOR = (#LVM_FIRST + 1)
#LVM_SETBKIMAGEA = (#LVM_FIRST + 68)
#LVM_SETBKIMAGEW = (#LVM_FIRST + 138)
#LVM_SETCALLBACKMASK = (#LVM_FIRST + 11)
#LVM_SETCOLUMNA = (#LVM_FIRST + 26)
#LVM_SETCOLUMNORDERARRAY = (#LVM_FIRST + 58)
#LVM_SETCOLUMNW = (#LVM_FIRST + 96)
#LVM_SETCOLUMNWIDTH = (#LVM_FIRST + 30)
#LVM_SETEXTENDEDLISTVIEWSTYLE = (#LVM_FIRST + 54)
#LVM_SETGROUPINFO = (#LVM_FIRST + 147)
#LVM_SETGROUPMETRICS = (#LVM_FIRST + 155)
#LVM_SETHOTCURSOR = (#LVM_FIRST + 62)
#LVM_SETHOTITEM = (#LVM_FIRST + 60)
#LVM_SETHOVERTIME = (#LVM_FIRST + 71)
#LVM_SETICONSPACING = (#LVM_FIRST + 53)
#LVM_SETIMAGELIST = (#LVM_FIRST + 3)
#LVM_SETINFOTIP = (#LVM_FIRST + 173)
#LVM_SETINSERTMARK = (#LVM_FIRST + 166)
#LVM_SETINSERTMARKCOLOR = (#LVM_FIRST + 170)
#LVM_SETITEMA = (#LVM_FIRST + 6)
#LVM_SETITEMCOUNT = (#LVM_FIRST + 47)
#LVM_SETITEMPOSITION = (#LVM_FIRST + 15)
#LVM_SETITEMPOSITION32 = (#LVM_FIRST + 49)
#LVM_SETITEMSTATE = (#LVM_FIRST + 43)
#LVM_SETITEMTEXTA = (#LVM_FIRST + 46)
#LVM_SETITEMTEXTW = (#LVM_FIRST + 116)
#LVM_SETITEMW = (#LVM_FIRST + 76)
#LVM_SETOUTLINECOLOR = (#LVM_FIRST + 177)
#LVM_SETSELECTEDCOLUMN = (#LVM_FIRST + 140)
#LVM_SETSELECTIONMARK = (#LVM_FIRST + 67)
#LVM_SETTEXTBKCOLOR = (#LVM_FIRST + 38)
#LVM_SETTEXTCOLOR = (#LVM_FIRST + 36)
#LVM_SETTILEINFO = (#LVM_FIRST + 164)
#LVM_SETTILEVIEWINFO = (#LVM_FIRST + 162)
#LVM_SETTILEWIDTH = (#LVM_FIRST + 141)
#LVM_SETTOOLTIPS = (#LVM_FIRST + 74)
#LVM_SETUNICODEFORMAT = #CCM_SETUNICODEFORMAT
#LVM_SETVIEW = (#LVM_FIRST + 142)
#LVM_SETWORKAREAS = (#LVM_FIRST + 65)
#LVM_SORTGROUPS = (#LVM_FIRST + 158)
#LVM_SORTITEMS = (#LVM_FIRST + 48)
#LVM_SORTITEMSEX = (#LVM_FIRST + 81)
#LVM_SUBITEMHITTEST = (#LVM_FIRST + 57)
#LVM_UPDATE = (#LVM_FIRST + 42)

;-TabControl32
#TCM_ADJUSTRECT = (#TCM_FIRST + 40)
#TCM_DELETEALLITEMS = (#TCM_FIRST + 9)
#TCM_DELETEITEM = (#TCM_FIRST + 8)
#TCM_DESELECTALL = (#TCM_FIRST + 50)
#TCM_FIRST = $1300
#TCM_GETCURFOCUS = (#TCM_FIRST + 47)
#TCM_GETCURSEL = (#TCM_FIRST + 11)
#TCM_GETEXTENDEDSTYLE = (#TCM_FIRST + 53)
#TCM_GETIMAGELIST = (#TCM_FIRST + 2)
#TCM_GETITEMA = (#TCM_FIRST + 5)
#TCM_GETITEMCOUNT = (#TCM_FIRST + 4)
#TCM_GETITEMRECT = (#TCM_FIRST + 10)
#TCM_GETITEMW = (#TCM_FIRST + 60)
#TCM_GETROWCOUNT = (#TCM_FIRST + 44)
#TCM_GETTOOLTIPS = (#TCM_FIRST + 45)
#TCM_GETUNICODEFORMAT = #CCM_GETUNICODEFORMAT
#TCM_HIGHLIGHTITEM = (#TCM_FIRST + 51)
#TCM_HITTEST = (#TCM_FIRST + 13)
#TCM_INSERTITEMA = (#TCM_FIRST + 7)
#TCM_INSERTITEMW = (#TCM_FIRST + 62)
#TCM_REMOVEIMAGE = (#TCM_FIRST + 42)
#TCM_SETCURFOCUS = (#TCM_FIRST + 48)
#TCM_SETCURSEL = (#TCM_FIRST + 12)
#TCM_SETEXTENDEDSTYLE = (#TCM_FIRST + 52)
#TCM_SETIMAGELIST = (#TCM_FIRST + 3)
#TCM_SETITEMA = (#TCM_FIRST + 6)
#TCM_SETITEMEXTRA = (#TCM_FIRST + 14)
#TCM_SETITEMSIZE = (#TCM_FIRST + 41)
#TCM_SETITEMW = (#TCM_FIRST + 61)
#TCM_SETMINTABWIDTH = (#TCM_FIRST + 49)
#TCM_SETPADDING = (#TCM_FIRST + 43)
#TCM_SETTOOLTIPS = (#TCM_FIRST + 46)
#TCM_SETUNICODEFORMAT = #CCM_SETUNICODEFORMAT

;-Edit/RichEdit
#EM_AUTOURLDETECT = (#WM_USER + 91)
#EM_CANPASTE = (#WM_USER + 50)
#EM_CANREDO = (#WM_USER + 85)
#EM_CANUNDO = $C6
#EM_CHARFROMPOS = $D7
#EM_CONVPOSITION = (#WM_USER + 108)
#EM_DISPLAYBAND = (#WM_USER + 51)
#EM_EMPTYUNDOBUFFER = $CD
#EM_EXGETSEL = (#WM_USER + 52)
#EM_EXLIMITTEXT = (#WM_USER + 53)
#EM_EXLINEFROMCHAR = (#WM_USER + 54)
#EM_EXSETSEL = (#WM_USER + 55)
#EM_FINDTEXT = (#WM_USER + 56)
#EM_FINDTEXTEX = (#WM_USER + 79)
#EM_FINDTEXTEXW = (#WM_USER + 124)
#EM_FINDTEXTW = (#WM_USER + 123)
#EM_FINDWORDBREAK = (#WM_USER + 76)
#EM_FMTLINES = $C8
#EM_FORMATRANGE = (#WM_USER + 57)
#EM_GETAUTOURLDETECT = (#WM_USER + 92)
#EM_GETBIDIOPTIONS = (#WM_USER + 201)
#EM_GETCHARFORMAT = (#WM_USER + 58)
#EM_GETEDITSTYLE = (#WM_USER + 205)
#EM_GETEVENTMASK = (#WM_USER + 59)
#EM_GETFIRSTVISIBLELINE = $CE
#EM_GETHANDLE = $BD
#EM_GETIMECOLOR = (#WM_USER + 105)
#EM_GETIMECOMPMODE = (#WM_USER + 122)
#EM_GETIMEMODEBIAS = (#WM_USER + 127)
#EM_GETIMEOPTIONS = (#WM_USER + 107)
#EM_GETIMESTATUS = $D9
#EM_GETLANGOPTIONS = (#WM_USER + 121)
;/#EM_GETLIMITTEXT = (#WM_USER + 37)
#EM_GETLINE = $C4
#EM_GETLINECOUNT = $BA
#EM_GETMARGINS = $D4
#EM_GETMODIFY = $B8
#EM_GETOLEINTERFACE = (#WM_USER + 60)
#EM_GETOPTIONS = (#WM_USER + 78)
#EM_GETPARAFORMAT = (#WM_USER + 61)
#EM_GETPASSWORDCHAR = $D2
#EM_GETPUNCTUATION = (#WM_USER + 101)
#EM_GETRECT = $B2
#EM_GETREDONAME = (#WM_USER + 87)
#EM_GETSCROLLPOS = (#WM_USER + 221)
#EM_GETSEL = $B0
#EM_GETSELTEXT = (#WM_USER + 62)
#EM_GETTEXTEX = (#WM_USER + 94)
#EM_GETTEXTLENGTHEX = (#WM_USER + 95)
#EM_GETTEXTMODE = (#WM_USER + 90)
#EM_GETTEXTRANGE = (#WM_USER + 75)
#EM_GETTHUMB = $BE
#EM_GETTYPOGRAPHYOPTIONS = (#WM_USER + 203)
#EM_GETUNDONAME = (#WM_USER + 86)
#EM_GETWORDBREAKPROC = $D1
#EM_GETWORDBREAKPROCEX = (#WM_USER + 80)
#EM_GETWORDWRAPMODE = (#WM_USER + 103)
#EM_GETZOOM = (#WM_USER + 224)
#EM_HIDESELECTION = (#WM_USER + 63)
#EM_LIMITTEXT = $C5
#EM_LINEFROMCHAR = $C9
#EM_LINEINDEX = $BB
#EM_LINELENGTH = $C1
#EM_LINESCROLL = $B6
#EM_OUTLINE = (#WM_USER + 220)
#EM_PASTESPECIAL = (#WM_USER + 64)
;/#EM_POSFROMCHAR = (#WM_USER + 38)
#EM_RECONVERSION = (#WM_USER + 125)
#EM_REDO = (#WM_USER + 84)
#EM_REPLACESEL = $C2
#EM_REQUESTRESIZE = (#WM_USER + 65)
#EM_SCROLL = $B5
#EM_SCROLLCARET = $B7
#EM_SELECTIONTYPE = (#WM_USER + 66)
#EM_SETBIDIOPTIONS = (#WM_USER + 200)
#EM_SETBKGNDCOLOR = (#WM_USER + 67)
#EM_SETCHARFORMAT = (#WM_USER + 68)
#ECM_FIRST=$1500
#EM_SETCUEBANNER = (#ECM_FIRST + 1)
#EM_SETEDITSTYLE = (#WM_USER + 204)
#EM_SETEVENTMASK = (#WM_USER + 69)
#EM_SETFONTSIZE = (#WM_USER + 223)
#EM_SETHANDLE = $BC
#EM_SETIMECOLOR = (#WM_USER + 104)
#EM_SETIMEMODEBIAS = (#WM_USER + 126)
#EM_SETIMEOPTIONS = (#WM_USER + 106)
#EM_SETIMESTATUS = $D8
#EM_SETLANGOPTIONS = (#WM_USER + 120)
#EM_SETLIMITTEXT = #EM_LIMITTEXT
#EM_SETMARGINS = $D3
#EM_SETMODIFY = $B9
#EM_SETOLECALLBACK = (#WM_USER + 70)
#EM_SETOPTIONS = (#WM_USER + 77)
#EM_SETPALETTE = (#WM_USER + 93)
#EM_SETPARAFORMAT = (#WM_USER + 71)
#EM_SETPASSWORDCHAR = $CC
#EM_SETPUNCTUATION = (#WM_USER + 100)
#EM_SETREADONLY = $CF
#EM_SETRECT = $B3
#EM_SETRECTNP = $B4
#EM_SETSCROLLPOS = (#WM_USER + 222)
#EM_SETSEL = $B1
#EM_SETTABSTOPS = $CB
#EM_SETTARGETDEVICE = (#WM_USER + 72)
#EM_SETTEXTEX = (#WM_USER + 97)
#EM_SETTEXTMODE = (#WM_USER + 89)
#EM_SETTYPOGRAPHYOPTIONS = (#WM_USER + 202)
#EM_SETUNDOLIMIT = (#WM_USER + 82)
#EM_SETWORDBREAKPROC = $D0
#EM_SETWORDBREAKPROCEX = (#WM_USER + 81)
#EM_SETWORDWRAPMODE = (#WM_USER + 102)
#EM_SETZOOM = (#WM_USER + 225)
#EM_SHOWSCROLLBAR = (#WM_USER + 96)
#EM_STOPGROUPTYPING = (#WM_USER + 88)
#EM_STREAMIN = (#WM_USER + 73)
#EM_STREAMOUT = (#WM_USER + 74)

;-Static
#STM_GETICON = $171
#STM_GETIMAGE = $173
#STM_SETICON = $170
#STM_SETIMAGE = $172
#STN_CLICKED = 0
#STN_DBLCLK = 1
#STN_DISABLE = 3
#STN_ENABLE = 2
User avatar
NoahPhense
Addict
Addict
Posts: 1999
Joined: Thu Oct 16, 2003 8:30 pm
Location: North Florida

Re: Tip: Identifying Window Events

Post by NoahPhense »

That's very sweet. Catching windows events is a VERY important task.

Good work guys!

- np
PolyVector
Enthusiast
Enthusiast
Posts: 499
Joined: Wed Sep 17, 2003 9:17 pm
Location: Southern California
Contact:

Post by PolyVector »

Edit: I took out the commented messages....OOPS :oops:
I'm using this function to help me reverse-engineer some WinAPI junk for FreeStyle... It's been helpfull :)
User avatar
GedB
Addict
Addict
Posts: 1313
Joined: Fri May 16, 2003 3:47 pm
Location: England
Contact:

Post by GedB »

Polyvector,

Wow, you really ran with that one!

I think there's a lot of potential here. It would also be really usefull to document what each event is and how it is used.

I wonder if the same exercise could be carried out for GTK events.

There is work to be done here.
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Post by Ramihyn_ »

Hopefully im not violating a dozen Forum rules by "bumping" such an old thread but i needed this function for debugging.
PolyVector wrote:And here's Constants.pb It's bulky because I ripped all the constants from APIViewer... Half of them are already defined in PB so I suppose that's a waste... Maybe we can clean it up? :oops:
Too much work to do it manually and i seriously dislike collisions of definitions as it can introduce very hard to spot bugs. I couldnt find a simple way using macros and/or compiler directives to do it in PB 3.94, so i did this "hack":

Code: Select all

Procedure.s GetCurrentDir()
  Protected CurDir.s
  CurDir.s = Space(2048)
  CompilerIf #PB_Compiler_OS = #PB_OS_Linux
    getcwd_(CurDir, 2048)
  CompilerElse
    GetCurrentDirectory_(2048,CurDir)
  CompilerEndIf
  ProcedureReturn CurDir
EndProcedure 

Procedure.l testifdef(define$)
  DeleteFile("test.exe")

  fileID = CreateFile(#PB_Any, "test.pb")
  WriteStringN("f = " + define$)
  WriteStringN("end")
  CloseFile(fileID)
  
  currdir.s = GetCurrentDir()  

  RunProgram("c:\programme\purebasic\compilers\pbcompiler.exe", "/exe " + Chr(34) + currdir + "\test.exe" + Chr(34) + " " + Chr(34) + currdir + "\test.pb" + Chr(34), "c:\programme\purebasic\compiler", 1 | 2)

  fsize = FileSize("test.exe")

  DeleteFile("test.pb")
  DeleteFile("test.exe")

  ProcedureReturn fsize
EndProcedure

Procedure testifdef_file(filename$)

  fileID = ReadFile(#PB_Any, filename$)

  If (fileID <> 0)
    While (Eof(fileID) = 0)
      UseFile(fileID)
      srcline$ = ReadString()
      define$ = Trim(srcline$)
      If (Left(define$, 1) = "#")
        define$ = StringField(define$, 1, " ")
        If (testifdef(define$) >= 0)
          Debug "; " + srcline$
        Else
          Debug srcline$
        EndIf
      Else
        Debug srcline$
      EndIf
    Wend

    CloseFile(fileID)
  EndIf
EndProcedure
This can be used to cleanup any definition file automatically. Ugly but it works ;)

Here is the cleanup up version of "constants.pb":

Code: Select all

; #WM_ACTIVATE = $6
; #WM_ACTIVATEAPP = $1C
#WM_ADSPROP_NOTIFY_APPLY = (#WM_USER + 1104)
#WM_ADSPROP_NOTIFY_CHANGE = (#WM_USER + 1103)
#WM_ADSPROP_NOTIFY_ERROR = (#WM_USER + 1110)
#WM_ADSPROP_NOTIFY_EXIT = (#WM_USER + 1107)
#WM_ADSPROP_NOTIFY_FOREGROUND = (#WM_USER + 1106)
#WM_ADSPROP_NOTIFY_PAGEHWND = (#WM_USER + 1102)
#WM_ADSPROP_NOTIFY_PAGEINIT = (#WM_USER + 1101)
#WM_ADSPROP_NOTIFY_SETFOCUS = (#WM_USER + 1105)
#WM_ADSPROP_NOTIFY_SHOW_ERROR_DIALOG = (#WM_USER + 1111)
#WM_AFXFIRST = $360
#WM_AFXLAST = $37F
#WM_APP = $8000
#WM_APPCOMMAND = $319
; #WM_ASKCBFORMATNAME = $30C
; #WM_CANCELJOURNAL = $4B
; #WM_CANCELMODE = $1F
#WM_CAP_START = #WM_USER
#WM_CAP_UNICODE_START = #WM_USER+100
#WM_CAP_ABORT = (#WM_CAP_START+ 69)
#WM_CAP_DLG_VIDEOCOMPRESSION = (#WM_CAP_START+ 46)
#WM_CAP_DLG_VIDEODISPLAY = (#WM_CAP_START+ 43)
#WM_CAP_DLG_VIDEOFORMAT = (#WM_CAP_START+ 41)
#WM_CAP_DLG_VIDEOSOURCE = (#WM_CAP_START+ 42)
#WM_CAP_DRIVER_CONNECT = (#WM_CAP_START+ 10)
#WM_CAP_DRIVER_DISCONNECT = (#WM_CAP_START+ 11)
#WM_CAP_DRIVER_GET_CAPS = (#WM_CAP_START+ 14)
#WM_CAP_DRIVER_GET_NAMEA = (#WM_CAP_START+ 12)
#WM_CAP_DRIVER_GET_NAMEW = (#WM_CAP_UNICODE_START+ 12)
#WM_CAP_DRIVER_GET_VERSIONA = (#WM_CAP_START+ 13)
#WM_CAP_DRIVER_GET_VERSIONW = (#WM_CAP_UNICODE_START+ 13)
#WM_CAP_EDIT_COPY = (#WM_CAP_START+ 30)
#WM_CAP_FILE_ALLOCATE = (#WM_CAP_START+ 22)
#WM_CAP_FILE_GET_CAPTURE_FILEA = (#WM_CAP_START+ 21)
#WM_CAP_FILE_GET_CAPTURE_FILEW = (#WM_CAP_UNICODE_START+ 21)
#WM_CAP_FILE_SAVEASA = (#WM_CAP_START+ 23)
#WM_CAP_FILE_SAVEASW = (#WM_CAP_UNICODE_START+ 23)
#WM_CAP_FILE_SAVEDIBA = (#WM_CAP_START+ 25)
#WM_CAP_FILE_SAVEDIBW = (#WM_CAP_UNICODE_START+ 25)
#WM_CAP_FILE_SET_CAPTURE_FILEA = (#WM_CAP_START+ 20)
#WM_CAP_FILE_SET_CAPTURE_FILEW = (#WM_CAP_UNICODE_START+ 20)
#WM_CAP_FILE_SET_INFOCHUNK = (#WM_CAP_START+ 24)
#WM_CAP_GET_AUDIOFORMAT = (#WM_CAP_START+ 36)
#WM_CAP_GET_CAPSTREAMPTR = (#WM_CAP_START+ 1)
#WM_CAP_GET_MCI_DEVICEA = (#WM_CAP_START+ 67)
#WM_CAP_GET_MCI_DEVICEW = (#WM_CAP_UNICODE_START+ 67)
#WM_CAP_GET_SEQUENCE_SETUP = (#WM_CAP_START+ 65)
#WM_CAP_GET_STATUS = (#WM_CAP_START+ 54)
#WM_CAP_GET_USER_DATA = (#WM_CAP_START+ 8)
#WM_CAP_GET_VIDEOFORMAT = (#WM_CAP_START+ 44)
#WM_CAP_GRAB_FRAME = (#WM_CAP_START+ 60)
#WM_CAP_GRAB_FRAME_NOSTOP = (#WM_CAP_START+ 61)
#WM_CAP_PAL_AUTOCREATE = (#WM_CAP_START+ 83)
#WM_CAP_PAL_MANUALCREATE = (#WM_CAP_START+ 84)
#WM_CAP_PAL_OPENA = (#WM_CAP_START+ 80)
#WM_CAP_PAL_OPENW = (#WM_CAP_UNICODE_START+ 80)
#WM_CAP_PAL_PASTE = (#WM_CAP_START+ 82)
#WM_CAP_PAL_SAVEA = (#WM_CAP_START+ 81)
#WM_CAP_PAL_SAVEW = (#WM_CAP_UNICODE_START+ 81)
#WM_CAP_SEQUENCE = (#WM_CAP_START+ 62)
#WM_CAP_SEQUENCE_NOFILE = (#WM_CAP_START+ 63)
#WM_CAP_SET_AUDIOFORMAT = (#WM_CAP_START+ 35)
#WM_CAP_SET_CALLBACK_CAPCONTROL = (#WM_CAP_START+ 85)
#WM_CAP_SET_CALLBACK_ERRORA = (#WM_CAP_START+ 2)
#WM_CAP_SET_CALLBACK_ERRORW = (#WM_CAP_UNICODE_START+ 2)
#WM_CAP_SET_CALLBACK_FRAME = (#WM_CAP_START+ 5)
#WM_CAP_SET_CALLBACK_STATUSA = (#WM_CAP_START+ 3)
#WM_CAP_SET_CALLBACK_STATUSW = (#WM_CAP_UNICODE_START+ 3)
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = (#WM_CAP_START+ 6)
#WM_CAP_SET_CALLBACK_WAVESTREAM = (#WM_CAP_START+ 7)
#WM_CAP_SET_CALLBACK_YIELD = (#WM_CAP_START+ 4)
#WM_CAP_SET_MCI_DEVICEA = (#WM_CAP_START+ 66)
#WM_CAP_SET_MCI_DEVICEW = (#WM_CAP_UNICODE_START+ 66)
#WM_CAP_SET_OVERLAY = (#WM_CAP_START+ 51)
#WM_CAP_SET_PREVIEW = (#WM_CAP_START+ 50)
#WM_CAP_SET_PREVIEWRATE = (#WM_CAP_START+ 52)
#WM_CAP_SET_SCALE = (#WM_CAP_START+ 53)
#WM_CAP_SET_SCROLL = (#WM_CAP_START+ 55)
#WM_CAP_SET_SEQUENCE_SETUP = (#WM_CAP_START+ 64)
#WM_CAP_SET_USER_DATA = (#WM_CAP_START+ 9)
#WM_CAP_SET_VIDEOFORMAT = (#WM_CAP_START+ 45)
#WM_CAP_SINGLE_FRAME = (#WM_CAP_START+ 72)
#WM_CAP_SINGLE_FRAME_CLOSE = (#WM_CAP_START+ 71)
#WM_CAP_SINGLE_FRAME_OPEN = (#WM_CAP_START+ 70)
#WM_CAP_STOP = (#WM_CAP_START+ 68)
#WM_CAP_UNICODE_END = #WM_CAP_PAL_SAVEW
#WM_CAP_END = #WM_CAP_UNICODE_END
#WM_CAPTURECHANGED = $215
; #WM_CHANGECBCHAIN = $30D
#WM_CHANGEUISTATE = $127
; #WM_CHAR = $102
; #WM_CHARTOITEM = $2F
; #WM_CHILDACTIVATE = $22
; #WM_CHOOSEFONT_GETLOGFONT = (#WM_USER + 1)
#WM_CHOOSEFONT_SETFLAGS = (#WM_USER + 102)
#WM_CHOOSEFONT_SETLOGFONT = (#WM_USER + 101)
; #WM_CLEAR = $303
; #WM_CLOSE = $10
; #WM_COMMAND = $111
; #WM_COMMNOTIFY = $44
; #WM_COMPACTING = $41
; #WM_COMPAREITEM = $39
; #WM_CONTEXTMENU = $7B
#WM_CONVERTREQUEST = $10A
; #WM_CONVERTREQUESTEX = $108
#WM_CONVERTRESULT = $10B
; #WM_COPY = $301
; #WM_COPYDATA = $4A
#WM_CPL_LAUNCH = (#WM_USER+1000)
#WM_CPL_LAUNCHED = (#WM_USER+1001)
; #WM_CREATE = $1
#WM_CTLCOLOR = $19
; #WM_CTLCOLORBTN = $135
; #WM_CTLCOLORDLG = $136
; #WM_CTLCOLOREDIT = $133
; #WM_CTLCOLORLISTBOX = $134
; #WM_CTLCOLORMSGBOX = $132
; #WM_CTLCOLORSCROLLBAR = $137
; #WM_CTLCOLORSTATIC = $138
; #WM_CUT = $300
; #WM_DDE_ACK = (#WM_DDE_FIRST + 4)
; #WM_DDE_ADVISE = (#WM_DDE_FIRST + 2)
; #WM_DDE_DATA = (#WM_DDE_FIRST + 5)
; #WM_DDE_EXECUTE = (#WM_DDE_FIRST + 8)
; #WM_DDE_FIRST = $3E0
; #WM_DDE_INITIATE = (#WM_DDE_FIRST)
; #WM_DDE_LAST = (#WM_DDE_FIRST + 8)
; #WM_DDE_POKE = (#WM_DDE_FIRST + 7)
; #WM_DDE_REQUEST = (#WM_DDE_FIRST + 6)
; #WM_DDE_TERMINATE = (#WM_DDE_FIRST + 1)
; #WM_DDE_UNADVISE = (#WM_DDE_FIRST + 3)
; #WM_DEADCHAR = $103
; #WM_DELETEITEM = $2D
; #WM_DESTROY = $2
; #WM_DESTROYCLIPBOARD = $307
#WM_DEVICECHANGE = $219
; #WM_DEVMODECHANGE = $1B
; #WM_DISPLAYCHANGE = $7E
; #WM_DRAWCLIPBOARD = $308
; #WM_DRAWITEM = $2B
; #WM_DROPFILES = $233
; #WM_ENABLE = $A
; #WM_ENDSESSION = $16
; #WM_ENTERIDLE = $121
; #WM_ENTERMENULOOP = $211
#WM_ENTERSIZEMOVE = $231
; #WM_ERASEBKGND = $14
; #WM_EXITMENULOOP = $212
#WM_EXITSIZEMOVE = $232
; #WM_FONTCHANGE = $1D
#WM_FORWARDMSG = $37F
; #WM_GETDLGCODE = $87
; #WM_GETFONT = $31
; #WM_GETHOTKEY = $33
; #WM_GETICON = $7F
; #WM_GETMINMAXINFO = $24
#WM_GETOBJECT = $3D
; #WM_GETTEXT = $D
; #WM_GETTEXTLENGTH = $E
#WM_HANDHELDFIRST = $358
#WM_HANDHELDLAST = $35F
; #WM_HELP = $53
; #WM_HOTKEY = $312
; #WM_HSCROLL = $114
; #WM_HSCROLLCLIPBOARD = $30E
; #WM_ICONERASEBKGND = $27
; #WM_IME_CHAR = $286
; #WM_IME_COMPOSITION = $10F
; #WM_IME_COMPOSITIONFULL = $284
; #WM_IME_CONTROL = $283
; #WM_IME_ENDCOMPOSITION = $10E
; #WM_IME_KEYDOWN = $290
; #WM_IME_KEYLAST = $10F
; #WM_IME_KEYUP = $291
; #WM_IME_NOTIFY = $282
#WM_IME_REPORT = $280
#WM_IME_REQUEST = $288
; #WM_IME_SELECT = $285
; #WM_IME_SETCONTEXT = $281
; #WM_IME_STARTCOMPOSITION = $10D
#WM_IMEKEYDOWN = $290
#WM_IMEKEYUP = $291
; #WM_INITDIALOG = $110
; #WM_INITMENU = $116
; #WM_INITMENUPOPUP = $117
#WM_INPUTLANGCHANGE = $51
#WM_INPUTLANGCHANGEREQUEST = $50
#WM_INTERIM = $10C
; #WM_KEYDOWN = $100
; #WM_KEYFIRST = $100
; #WM_KEYLAST = $108
; #WM_KEYUP = $101
; #WM_KILLFOCUS = $8
; #WM_LBUTTONDBLCLK = $203
; #WM_LBUTTONDOWN = $201
; #WM_LBUTTONUP = $202
; #WM_MBUTTONDBLCLK = $209
; #WM_MBUTTONDOWN = $207
; #WM_MBUTTONUP = $208
; #WM_MDIACTIVATE = $222
; #WM_MDICASCADE = $227
; #WM_MDICREATE = $220
; #WM_MDIDESTROY = $221
; #WM_MDIGETACTIVE = $229
; #WM_MDIICONARRANGE = $228
; #WM_MDIMAXIMIZE = $225
; #WM_MDINEXT = $224
; #WM_MDIREFRESHMENU = $234
; #WM_MDIRESTORE = $223
; #WM_MDISETMENU = $230
; #WM_MDITILE = $226
; #WM_MEASUREITEM = $2C
; #WM_MENUCHAR = $120
#WM_MENUCOMMAND = $126
#WM_MENUDRAG = $123
#WM_MENUGETOBJECT = $124
#WM_MENURBUTTONUP = $122
; #WM_MENUSELECT = $11F
; #WM_MOUSEACTIVATE = $21
; #WM_MOUSEFIRST = $200
#WM_MOUSEHOVER = $2A1
; #WM_MOUSELAST = $209
#WM_MOUSELEAVE = $2A3
; #WM_MOUSEMOVE = $200
; #WM_MOUSEWHEEL = $20A
; #WM_MOVE = $3
; #WM_MOVING = $216
; #WM_NCACTIVATE = $86
; #WM_NCCALCSIZE = $83
; #WM_NCCREATE = $81
; #WM_NCDESTROY = $82
; #WM_NCHITTEST = $84
; #WM_NCLBUTTONDBLCLK = $A3
; #WM_NCLBUTTONDOWN = $A1
; #WM_NCLBUTTONUP = $A2
; #WM_NCMBUTTONDBLCLK = $A9
; #WM_NCMBUTTONDOWN = $A7
; #WM_NCMBUTTONUP = $A8
#WM_NCMOUSEHOVER = $2A0
#WM_NCMOUSELEAVE = $2A2
; #WM_NCMOUSEMOVE = $A0
; #WM_NCPAINT = $85
; #WM_NCRBUTTONDBLCLK = $A6
; #WM_NCRBUTTONDOWN = $A4
; #WM_NCRBUTTONUP = $A5
#WM_NCXBUTTONDBLCLK = $AD
#WM_NCXBUTTONDOWN = $AB
#WM_NCXBUTTONUP = $AC
; #WM_NEXTDLGCTL = $28
#WM_NEXTMENU = $213
; #WM_NOTIFY = $4E
; #WM_NOTIFYFORMAT = $55
; #WM_NULL = $0
; #WM_OTHERWINDOWCREATED = $42
; #WM_OTHERWINDOWDESTROYED = $43
; #WM_PAINT = $F
; #WM_PAINTCLIPBOARD = $309
; #WM_PAINTICON = $26
; #WM_PALETTECHANGED = $311
; #WM_PALETTEISCHANGING = $310
; #WM_PARENTNOTIFY = $210
; #WM_PASTE = $302
; #WM_PENWINFIRST = $380
; #WM_PENWINLAST = $38F
; #WM_POWER = $48
#WM_POWERBROADCAST = $218
#WM_PRINT = $317
; #WM_PRINTCLIENT = $318
; #WM_PSD_ENVSTAMPRECT = (#WM_USER + 5)
; #WM_PSD_FULLPAGERECT = (#WM_USER + 1)
; #WM_PSD_GREEKTEXTRECT = (#WM_USER + 4)
; #WM_PSD_MARGINRECT = (#WM_USER + 3)
; #WM_PSD_MINMARGINRECT = (#WM_USER + 2)
; #WM_PSD_PAGESETUPDLG = (#WM_USER)
; #WM_PSD_YAFULLPAGERECT = (#WM_USER + 6)
; #WM_QUERYDRAGICON = $37
; #WM_QUERYENDSESSION = $11
; #WM_QUERYNEWPALETTE = $30F
; #WM_QUERYOPEN = $13
#WM_QUERYUISTATE = $129
; #WM_QUEUESYNC = $23
; #WM_QUIT = $12
#WM_RASDIALEVENT = $CCCD
; #WM_RBUTTONDBLCLK = $206
; #WM_RBUTTONDOWN = $204
; #WM_RBUTTONUP = $205
; #WM_RENDERALLFORMATS = $306
; #WM_RENDERFORMAT = $305
; #WM_SETCURSOR = $20
; #WM_SETFOCUS = $7
; #WM_SETFONT = $30
; #WM_SETHOTKEY = $32
; #WM_SETICON = $80
; #WM_SETREDRAW = $B
; #WM_SETTEXT = $C
; #WM_SETTINGCHANGE = #WM_WININICHANGE
; #WM_SHOWWINDOW = $18
; #WM_SIZE = $5
; #WM_SIZECLIPBOARD = $30B
; #WM_SIZING = $214
; #WM_SPOOLERSTATUS = $2A
; #WM_STYLECHANGED = $7D
; #WM_STYLECHANGING = $7C
#WM_SYNCPAINT = $88
; #WM_SYSCHAR = $106
; #WM_SYSCOLORCHANGE = $15
; #WM_SYSCOMMAND = $112
; #WM_SYSDEADCHAR = $107
; #WM_SYSKEYDOWN = $104
; #WM_SYSKEYUP = $105
; #WM_TCARD = $52
; #WM_TIMECHANGE = $1E
; #WM_TIMER = $113
; #WM_UNDO = $304
#WM_UNINITMENUPOPUP = $125
#WM_UPDATEUISTATE = $128
; #WM_USER = $400
; #WM_USERCHANGED = $54
; #WM_VKEYTOITEM = $2E
; #WM_VSCROLL = $115
; #WM_VSCROLLCLIPBOARD = $30A
; #WM_WINDOWPOSCHANGED = $47
; #WM_WINDOWPOSCHANGING = $46
; #WM_WININICHANGE = $1A
#WM_WNT_CONVERTREQUESTEX = $109
#WM_XBUTTONDBLCLK = $20D
#WM_XBUTTONDOWN = $20B
#WM_XBUTTONUP = $20C


;-Button
; #BM_CLICK = $F5
; #BM_GETCHECK = $F0
; #BM_GETIMAGE = $F6
; #BM_GETSTATE = $F2
; #BM_SETCHECK = $F1
; #BM_SETIMAGE = $F7
; #BM_SETSTATE = $F3
; #BM_SETSTYLE = $F4

;-ListView32
#LVM_GETCOLUMNA = (#LVM_FIRST + 25)
#LVM_GETCOLUMNORDERARRAY = (#LVM_FIRST + 59)
; #LVM_GETCOLUMNW = (#LVM_FIRST + 95)
; #LVM_GETCOLUMNWIDTH = (#LVM_FIRST + 29)
; #LVM_GETCOUNTPERPAGE = (#LVM_FIRST + 40)
; #LVM_GETEDITCONTROL = (#LVM_FIRST + 24)
#LVM_GETEXTENDEDLISTVIEWSTYLE = (#LVM_FIRST + 55)
#LVM_GETGROUPINFO = (#LVM_FIRST + 149)
#LVM_GETGROUPMETRICS = (#LVM_FIRST + 156)
#LVM_GETHEADER = (#LVM_FIRST + 31)
#LVM_GETHOTCURSOR = (#LVM_FIRST + 63)
#LVM_GETHOTITEM = (#LVM_FIRST + 61)
#LVM_GETHOVERTIME = (#LVM_FIRST + 72)
; #LVM_GETIMAGELIST = (#LVM_FIRST + 2)
#LVM_GETINSERTMARK = (#LVM_FIRST + 167)
#LVM_GETINSERTMARKCOLOR = (#LVM_FIRST + 171)
#LVM_GETINSERTMARKRECT = (#LVM_FIRST + 169)
#LVM_GETISEARCHSTRINGA = (#LVM_FIRST + 52)
; #LVM_GETISEARCHSTRINGW = (#LVM_FIRST + 117)
#LVM_GETITEMA = (#LVM_FIRST + 5)
; #LVM_GETITEMCOUNT = (#LVM_FIRST + 4)
; #LVM_GETITEMPOSITION = (#LVM_FIRST + 16)
; #LVM_GETITEMRECT = (#LVM_FIRST + 14)
; #LVM_GETITEMSPACING = (#LVM_FIRST + 51)
; #LVM_GETITEMSTATE = (#LVM_FIRST + 44)
#LVM_GETITEMTEXTA = (#LVM_FIRST + 45)
; #LVM_GETITEMTEXTW = (#LVM_FIRST + 115)
; #LVM_GETITEMW = (#LVM_FIRST + 75)
; #LVM_GETNEXTITEM = (#LVM_FIRST + 12)
#LVM_GETNUMBEROFWORKAREAS = (#LVM_FIRST + 73)
; #LVM_GETORIGIN = (#LVM_FIRST + 41)
#LVM_GETOUTLINECOLOR = (#LVM_FIRST + 176)
#LVM_GETSELECTEDCOLUMN = (#LVM_FIRST + 174)
; #LVM_GETSELECTEDCOUNT = (#LVM_FIRST + 50)
#LVM_GETSELECTIONMARK = (#LVM_FIRST + 66)
#LVM_GETSTRINGWIDTHA = (#LVM_FIRST + 17)
; #LVM_GETSTRINGWIDTHW = (#LVM_FIRST + 87)
#LVM_GETSUBITEMRECT = (#LVM_FIRST + 56)
; #LVM_GETTEXTBKCOLOR = (#LVM_FIRST + 37)
; #LVM_GETTEXTCOLOR = (#LVM_FIRST + 35)
#LVM_GETTILEINFO = (#LVM_FIRST + 165)
#LVM_GETTILEVIEWINFO = (#LVM_FIRST + 163)
#LVM_GETTOOLTIPS = (#LVM_FIRST + 78)
; #LVM_GETTOPINDEX = (#LVM_FIRST + 39)
#LVM_GETUNICODEFORMAT = #CCM_GETUNICODEFORMAT
#LVM_GETVIEW = (#LVM_FIRST + 143)
; #LVM_GETVIEWRECT = (#LVM_FIRST + 34)
#LVM_GETWORKAREAS = (#LVM_FIRST + 70)
#LVM_HASGROUP = (#LVM_FIRST + 161)
; #LVM_HITTEST = (#LVM_FIRST + 18)
#LVM_INSERTCOLUMNA = (#LVM_FIRST + 27)
; #LVM_INSERTCOLUMNW = (#LVM_FIRST + 97)
#LVM_INSERTGROUP = (#LVM_FIRST + 145)
#LVM_INSERTGROUPSORTED = (#LVM_FIRST + 159)
#LVM_INSERTITEMA = (#LVM_FIRST + 7)
; #LVM_INSERTITEMW = (#LVM_FIRST + 77)
#LVM_INSERTMARKHITTEST = (#LVM_FIRST + 168)
#LVM_ISGROUPVIEWENABLED = (#LVM_FIRST + 175)
#LVM_MOVEGROUP = (#LVM_FIRST + 151)
#LVM_MOVEITEMTOGROUP = (#LVM_FIRST + 154)
; #LVM_REDRAWITEMS = (#LVM_FIRST + 21)
#LVM_REMOVEALLGROUPS = (#LVM_FIRST + 160)
#LVM_REMOVEGROUP = (#LVM_FIRST + 150)
; #LVM_SCROLL = (#LVM_FIRST + 20)
; #LVM_SETBKCOLOR = (#LVM_FIRST + 1)
#LVM_SETBKIMAGEA = (#LVM_FIRST + 68)
#LVM_SETBKIMAGEW = (#LVM_FIRST + 138)
; #LVM_SETCALLBACKMASK = (#LVM_FIRST + 11)
#LVM_SETCOLUMNA = (#LVM_FIRST + 26)
#LVM_SETCOLUMNORDERARRAY = (#LVM_FIRST + 58)
; #LVM_SETCOLUMNW = (#LVM_FIRST + 96)
; #LVM_SETCOLUMNWIDTH = (#LVM_FIRST + 30)
#LVM_SETEXTENDEDLISTVIEWSTYLE = (#LVM_FIRST + 54)
#LVM_SETGROUPINFO = (#LVM_FIRST + 147)
#LVM_SETGROUPMETRICS = (#LVM_FIRST + 155)
#LVM_SETHOTCURSOR = (#LVM_FIRST + 62)
#LVM_SETHOTITEM = (#LVM_FIRST + 60)
#LVM_SETHOVERTIME = (#LVM_FIRST + 71)
#LVM_SETICONSPACING = (#LVM_FIRST + 53)
; #LVM_SETIMAGELIST = (#LVM_FIRST + 3)
#LVM_SETINFOTIP = (#LVM_FIRST + 173)
#LVM_SETINSERTMARK = (#LVM_FIRST + 166)
#LVM_SETINSERTMARKCOLOR = (#LVM_FIRST + 170)
#LVM_SETITEMA = (#LVM_FIRST + 6)
; #LVM_SETITEMCOUNT = (#LVM_FIRST + 47)
; #LVM_SETITEMPOSITION = (#LVM_FIRST + 15)
; #LVM_SETITEMPOSITION32 = (#LVM_FIRST + 49)
; #LVM_SETITEMSTATE = (#LVM_FIRST + 43)
#LVM_SETITEMTEXTA = (#LVM_FIRST + 46)
; #LVM_SETITEMTEXTW = (#LVM_FIRST + 116)
; #LVM_SETITEMW = (#LVM_FIRST + 76)
#LVM_SETOUTLINECOLOR = (#LVM_FIRST + 177)
#LVM_SETSELECTEDCOLUMN = (#LVM_FIRST + 140)
#LVM_SETSELECTIONMARK = (#LVM_FIRST + 67)
; #LVM_SETTEXTBKCOLOR = (#LVM_FIRST + 38)
; #LVM_SETTEXTCOLOR = (#LVM_FIRST + 36)
#LVM_SETTILEINFO = (#LVM_FIRST + 164)
#LVM_SETTILEVIEWINFO = (#LVM_FIRST + 162)
#LVM_SETTILEWIDTH = (#LVM_FIRST + 141)
#LVM_SETTOOLTIPS = (#LVM_FIRST + 74)
#LVM_SETUNICODEFORMAT = #CCM_SETUNICODEFORMAT
#LVM_SETVIEW = (#LVM_FIRST + 142)
#LVM_SETWORKAREAS = (#LVM_FIRST + 65)
#LVM_SORTGROUPS = (#LVM_FIRST + 158)
; #LVM_SORTITEMS = (#LVM_FIRST + 48)
#LVM_SORTITEMSEX = (#LVM_FIRST + 81)
#LVM_SUBITEMHITTEST = (#LVM_FIRST + 57)
; #LVM_UPDATE = (#LVM_FIRST + 42)

;-TabControl32
; #TCM_ADJUSTRECT = (#TCM_FIRST + 40)
; #TCM_DELETEALLITEMS = (#TCM_FIRST + 9)
; #TCM_DELETEITEM = (#TCM_FIRST + 8)
#TCM_DESELECTALL = (#TCM_FIRST + 50)
; #TCM_FIRST = $1300
; #TCM_GETCURFOCUS = (#TCM_FIRST + 47)
; #TCM_GETCURSEL = (#TCM_FIRST + 11)
#TCM_GETEXTENDEDSTYLE = (#TCM_FIRST + 53)
; #TCM_GETIMAGELIST = (#TCM_FIRST + 2)
#TCM_GETITEMA = (#TCM_FIRST + 5)
; #TCM_GETITEMCOUNT = (#TCM_FIRST + 4)
; #TCM_GETITEMRECT = (#TCM_FIRST + 10)
#TCM_GETITEMW = (#TCM_FIRST + 60)
; #TCM_GETROWCOUNT = (#TCM_FIRST + 44)
; #TCM_GETTOOLTIPS = (#TCM_FIRST + 45)
#TCM_GETUNICODEFORMAT = #CCM_GETUNICODEFORMAT
#TCM_HIGHLIGHTITEM = (#TCM_FIRST + 51)
; #TCM_HITTEST = (#TCM_FIRST + 13)
#TCM_INSERTITEMA = (#TCM_FIRST + 7)
; #TCM_INSERTITEMW = (#TCM_FIRST + 62)
; #TCM_REMOVEIMAGE = (#TCM_FIRST + 42)
; #TCM_SETCURFOCUS = (#TCM_FIRST + 48)
; #TCM_SETCURSEL = (#TCM_FIRST + 12)
#TCM_SETEXTENDEDSTYLE = (#TCM_FIRST + 52)
; #TCM_SETIMAGELIST = (#TCM_FIRST + 3)
#TCM_SETITEMA = (#TCM_FIRST + 6)
; #TCM_SETITEMEXTRA = (#TCM_FIRST + 14)
; #TCM_SETITEMSIZE = (#TCM_FIRST + 41)
; #TCM_SETITEMW = (#TCM_FIRST + 61)
#TCM_SETMINTABWIDTH = (#TCM_FIRST + 49)
; #TCM_SETPADDING = (#TCM_FIRST + 43)
; #TCM_SETTOOLTIPS = (#TCM_FIRST + 46)
#TCM_SETUNICODEFORMAT = #CCM_SETUNICODEFORMAT

;-Edit/RichEdit
; #EM_AUTOURLDETECT = (#WM_USER + 91)
; #EM_CANPASTE = (#WM_USER + 50)
; #EM_CANREDO = (#WM_USER + 85)
; #EM_CANUNDO = $C6
; #EM_CHARFROMPOS = $D7
; #EM_CONVPOSITION = (#WM_USER + 108)
; #EM_DISPLAYBAND = (#WM_USER + 51)
; #EM_EMPTYUNDOBUFFER = $CD
; #EM_EXGETSEL = (#WM_USER + 52)
; #EM_EXLIMITTEXT = (#WM_USER + 53)
; #EM_EXLINEFROMCHAR = (#WM_USER + 54)
; #EM_EXSETSEL = (#WM_USER + 55)
; #EM_FINDTEXT = (#WM_USER + 56)
; #EM_FINDTEXTEX = (#WM_USER + 79)
; #EM_FINDTEXTEXW = (#WM_USER + 124)
; #EM_FINDTEXTW = (#WM_USER + 123)
; #EM_FINDWORDBREAK = (#WM_USER + 76)
; #EM_FMTLINES = $C8
; #EM_FORMATRANGE = (#WM_USER + 57)
; #EM_GETAUTOURLDETECT = (#WM_USER + 92)
; #EM_GETBIDIOPTIONS = (#WM_USER + 201)
; #EM_GETCHARFORMAT = (#WM_USER + 58)
; #EM_GETEDITSTYLE = (#WM_USER + 205)
; #EM_GETEVENTMASK = (#WM_USER + 59)
; #EM_GETFIRSTVISIBLELINE = $CE
; #EM_GETHANDLE = $BD
; #EM_GETIMECOLOR = (#WM_USER + 105)
; #EM_GETIMECOMPMODE = (#WM_USER + 122)
; #EM_GETIMEMODEBIAS = (#WM_USER + 127)
; #EM_GETIMEOPTIONS = (#WM_USER + 107)
#EM_GETIMESTATUS = $D9
; #EM_GETLANGOPTIONS = (#WM_USER + 121)
;/#EM_GETLIMITTEXT = (#WM_USER + 37)
; #EM_GETLINE = $C4
; #EM_GETLINECOUNT = $BA
; #EM_GETMARGINS = $D4
; #EM_GETMODIFY = $B8
; #EM_GETOLEINTERFACE = (#WM_USER + 60)
; #EM_GETOPTIONS = (#WM_USER + 78)
; #EM_GETPARAFORMAT = (#WM_USER + 61)
; #EM_GETPASSWORDCHAR = $D2
; #EM_GETPUNCTUATION = (#WM_USER + 101)
; #EM_GETRECT = $B2
; #EM_GETREDONAME = (#WM_USER + 87)
; #EM_GETSCROLLPOS = (#WM_USER + 221)
; #EM_GETSEL = $B0
; #EM_GETSELTEXT = (#WM_USER + 62)
; #EM_GETTEXTEX = (#WM_USER + 94)
; #EM_GETTEXTLENGTHEX = (#WM_USER + 95)
#EM_GETTEXTMODE = (#WM_USER + 90)
; #EM_GETTEXTRANGE = (#WM_USER + 75)
; #EM_GETTHUMB = $BE
; #EM_GETTYPOGRAPHYOPTIONS = (#WM_USER + 203)
; #EM_GETUNDONAME = (#WM_USER + 86)
; #EM_GETWORDBREAKPROC = $D1
; #EM_GETWORDBREAKPROCEX = (#WM_USER + 80)
; #EM_GETWORDWRAPMODE = (#WM_USER + 103)
; #EM_GETZOOM = (#WM_USER + 224)
; #EM_HIDESELECTION = (#WM_USER + 63)
; #EM_LIMITTEXT = $C5
; #EM_LINEFROMCHAR = $C9
; #EM_LINEINDEX = $BB
; #EM_LINELENGTH = $C1
; #EM_LINESCROLL = $B6
; #EM_OUTLINE = (#WM_USER + 220)
; #EM_PASTESPECIAL = (#WM_USER + 64)
;/#EM_POSFROMCHAR = (#WM_USER + 38)
; #EM_RECONVERSION = (#WM_USER + 125)
; #EM_REDO = (#WM_USER + 84)
; #EM_REPLACESEL = $C2
; #EM_REQUESTRESIZE = (#WM_USER + 65)
; #EM_SCROLL = $B5
; #EM_SCROLLCARET = $B7
; #EM_SELECTIONTYPE = (#WM_USER + 66)
; #EM_SETBIDIOPTIONS = (#WM_USER + 200)
; #EM_SETBKGNDCOLOR = (#WM_USER + 67)
; #EM_SETCHARFORMAT = (#WM_USER + 68)
#ECM_FIRST=$1500
#EM_SETCUEBANNER = (#ECM_FIRST + 1)
; #EM_SETEDITSTYLE = (#WM_USER + 204)
; #EM_SETEVENTMASK = (#WM_USER + 69)
; #EM_SETFONTSIZE = (#WM_USER + 223)
; #EM_SETHANDLE = $BC
; #EM_SETIMECOLOR = (#WM_USER + 104)
; #EM_SETIMEMODEBIAS = (#WM_USER + 126)
; #EM_SETIMEOPTIONS = (#WM_USER + 106)
#EM_SETIMESTATUS = $D8
; #EM_SETLANGOPTIONS = (#WM_USER + 120)
; #EM_SETLIMITTEXT = #EM_LIMITTEXT
; #EM_SETMARGINS = $D3
; #EM_SETMODIFY = $B9
; #EM_SETOLECALLBACK = (#WM_USER + 70)
; #EM_SETOPTIONS = (#WM_USER + 77)
; #EM_SETPALETTE = (#WM_USER + 93)
; #EM_SETPARAFORMAT = (#WM_USER + 71)
; #EM_SETPASSWORDCHAR = $CC
; #EM_SETPUNCTUATION = (#WM_USER + 100)
; #EM_SETREADONLY = $CF
; #EM_SETRECT = $B3
; #EM_SETRECTNP = $B4
; #EM_SETSCROLLPOS = (#WM_USER + 222)
; #EM_SETSEL = $B1
; #EM_SETTABSTOPS = $CB
; #EM_SETTARGETDEVICE = (#WM_USER + 72)
; #EM_SETTEXTEX = (#WM_USER + 97)
; #EM_SETTEXTMODE = (#WM_USER + 89)
; #EM_SETTYPOGRAPHYOPTIONS = (#WM_USER + 202)
#EM_SETUNDOLIMIT = (#WM_USER + 82)
; #EM_SETWORDBREAKPROC = $D0
; #EM_SETWORDBREAKPROCEX = (#WM_USER + 81)
; #EM_SETWORDWRAPMODE = (#WM_USER + 102)
; #EM_SETZOOM = (#WM_USER + 225)
; #EM_SHOWSCROLLBAR = (#WM_USER + 96)
; #EM_STOPGROUPTYPING = (#WM_USER + 88)
; #EM_STREAMIN = (#WM_USER + 73)
; #EM_STREAMOUT = (#WM_USER + 74)

;-Static
; #STM_GETICON = $171
; #STM_GETIMAGE = $173
; #STM_SETICON = $170
; #STM_SETIMAGE = $172
#STN_CLICKED = 0
#STN_DBLCLK = 1
#STN_DISABLE = 3
#STN_ENABLE = 2
Additionally i changed the last Default line in "DecodeWindowMessage" to

Code: Select all

        Result="*Unknown Message " + Str(Message) + "*"
User avatar
Rescator
Addict
Addict
Posts: 1769
Joined: Sat Feb 19, 2005 5:05 pm
Location: Norway

Post by Rescator »

For some reason when I searched, this thread did not show up. (bad search criteria I guess or this thread was hidden several pages back). So I ended up doing my own, but since I hate cross posting entire posts...
Here's the link to mine: Debug Window Message ID http://www.purebasic.fr/english/viewtopic.php?t=28663
michaeled314
Enthusiast
Enthusiast
Posts: 340
Joined: Tue Apr 24, 2007 11:14 pm

Post by michaeled314 »

Code: Select all

Procedure Callback(WindowID,message,wParam,lParam)
 Result = #PB_ProcessPureBasicEvents
 Select message
  Case #DM_GETDEFID : Text$ = "DM_GetDefID"
  Case #DM_SETDEFID : Text$ = "DM_SetDefID"
  Case #WM_ACTIVATE : Text$ = "Activate"
  Case #WM_ACTIVATEAPP : Text$ = "ActivateApp"
  Case #WM_ASKCBFORMATNAME : Text$ = "AskCbFormatName"
  Case #WM_CANCELJOURNAL : Text$ = "CancelJournal"
  Case #WM_CANCELMODE : Text$ = "CancelMode"
  Case #WM_CAPTURECHANGED : Text$ = "CaptureChanged"
  Case #WM_CHANGECBCHAIN : Text$ = "ChangeCbChain"
  Case #WM_CHAR : Text$ = "Char"
  Case #WM_CHILDACTIVATE : Text$ = "ChildActivate"
  Case #WM_CLEAR : Text$ = "Clear"
  Case #WM_CLOSE : Text$ = "Close"
  Case #WM_COMMAND : Text$ = "Command"
  Case #WM_COMPACTING : Text$ = "Compacting"
  Case #WM_CONTEXTMENU : Text$ = "ContextMenu"
  Case #WM_COPY : Text$ = "Copy"
  Case #WM_COPYDATA : Text$ = "CopyData"
  Case #WM_CREATE : Text$ = "Create"
  Case #WM_CTLCOLORDLG : Text$ = "CtlColorDlg"
  Case #WM_CTLCOLORMSGBOX : Text$ = "CtlColorMsgBox"
  Case #WM_CUT : Text$ = "Cut"
  Case #WM_DEADCHAR : Text$ = "DeadChar"
  Case #WM_DESTROY : Text$ = "Destroy"
  Case #WM_DESTROYCLIPBOARD : Text$ = "DestroyClipboard"
  Case #WM_DISPLAYCHANGE : Text$ = "DisplayChange"
  Case #WM_DRAWCLIPBOARD : Text$ = "DrawClipboard"
  Case #WM_DRAWITEM : Text$ = "DrawItem"
  Case #WM_ENABLE : Text$ = "Enable"
  Case #WM_ENTERIDLE : Text$ = "EnterIdle"
  Case #WM_ENTERMENULOOP : Text$ = "EnterMenuLoop"
  Case #WM_ENTERSIZEMOVE : Text$ = "EnterSizeMove"
  Case #WM_ERASEBKGND : Text$ = "EraseBkgnd"
  Case #WM_EXITMENULOOP : Text$ = "ExitMenuLoop"
  Case #WM_EXITSIZEMOVE : Text$ = "ExitSizeMove"
  Case #WM_GETDLGCODE : Text$ = "GetDlgCode"
  Case #WM_GETHOTKEY : Text$ = "GetHotKey"
  Case #WM_GETICON : Text$ = "GetIcon"
  Case #WM_GETMINMAXINFO : Text$ = "GetMinMaxInfo"
  Case #WM_GETTEXT : Text$ = "GetText"
  Case #WM_GETTEXTLENGTH : Text$ = "GetTextLength"
  Case #WM_HOTKEY : Text$ = "HotKey"
  Case #WM_HSCROLLCLIPBOARD : Text$ = "HScrollClipboard"
  Case #WM_ICONERASEBKGND : Text$ = "IconEraseBkgnd"
  Case #WM_INITDIALOG : Text$ = "InitDialog"
  Case #WM_INITMENU : Text$ = "InitMenu"
  Case #WM_INITMENUPOPUP : Text$ = "InitMenuPopup"
  Case #WM_INPUTLANGCHANGE : Text$ = "InputLangChange"
  Case #WM_INPUTLANGCHANGEREQUEST : Text$ = "InputLangChangeRequest"
  Case #WM_KEYDOWN : Text$ = "KeyDown"
  Case #WM_KEYUP : Text$ = "KeyUp"
  Case #WM_KILLFOCUS : Text$ = "KillFocus"
  Case #WM_LBUTTONDBLCLK : Text$ = "LButtonDBlclk"
  Case #WM_LBUTTONDOWN : Text$ = "LButtonDown"
  Case #WM_LBUTTONUP : Text$ = "LButtonUp"
  Case #WM_LBUTTONDBLCLK : Text$ = "LButtonDBlclk"
  Case #WM_MBUTTONDOWN : Text$ = "MButtonDown"
  Case #WM_MBUTTONUP : Text$ = "MButtonUp"
  Case #WM_MEASUREITEM : Text$ = "MeasureItem"
  Case #WM_MENUCHAR : Text$ = "MenuChar"
  Case #WM_MENUSELECT : Text$ = "MenuSelect"
  Case #WM_MOUSEACTIVATE : Text$ = "MouseActivate"
  Case #WM_MOUSEMOVE : Text$ = "MouseMove"
  Case #WM_MOUSEWHEEL : Text$ = "MouseWheel"
  Case #WM_MOVE : Text$ = "Move"
  Case #WM_MOVING : Text$ = "Moving"
  Case #WM_NCACTIVATE : Text$ = "NcActivate"
  Case #WM_NCCALCSIZE : Text$ = "NcCalcSize"
  Case #WM_NCCREATE : Text$ = "NcCreate"
  Case #WM_NCDESTROY : Text$ = "NcDestroy"
  Case #WM_NCHITTEST : Text$ = "NCHITTEST"
  Case #WM_NCLBUTTONDBLCLK : Text$ = "NCLButtonDBlclk"
  Case #WM_NCLBUTTONDOWN : Text$ = "NCLButtonDown"
  Case #WM_NCLBUTTONUP : Text$ = "NCLButtonUp"
  Case #WM_NCMBUTTONDBLCLK : Text$ = "NCMButtonDBlclk"
  Case #WM_NCMBUTTONDOWN : Text$ = "NCMButtonDown"
  Case #WM_NCMBUTTONUP : Text$ = "NCMButtonUp"
  Case #WM_NCMOUSEMOVE : Text$ = "NCMouseMove"
  Case #WM_NCPAINT : Text$ = "NCPaint"
  Case #WM_NCRBUTTONDBLCLK : Text$ = "NCRButtonDBlclk"
  Case #WM_NCRBUTTONDOWN : Text$ = "NCRButtonDown"
  Case #WM_NCRBUTTONUP : Text$ = "NCRButtonUp"
  Case #WM_NEXTDLGCTL : Text$ = "NextDlgCtl"
  Case #WM_NOTIFY : Text$ = "Notify"
  Case #WM_NOTIFYFORMAT : Text$ = "NotifyFormat"
  Case #WM_PAINT : Text$ = "Paint"
  Case #WM_PAINTCLIPBOARD : Text$ = "PaintClipboard"
  Case #WM_PAINTICON : Text$ = "PaintIcon"
  Case #WM_PARENTNOTIFY : Text$ = "ParentNotify"
  Case #WM_PASTE : Text$ = "Paste"
  Case #WM_POWER : Text$ = "Power"
  Case #WM_PRINT : Text$ = "Print"
  Case #WM_PRINTCLIENT : Text$ = "PrintClient"
  Case #WM_QUERYDRAGICON : Text$ = "QueryDragIcon"
  Case #WM_QUERYOPEN : Text$ = "QueryOpen"
  Case #WM_QUEUESYNC : Text$ = "QueueSync"
  Case #WM_QUIT : Text$ = "Quit"
  Case #WM_RENDERALLFORMATS : Text$ = "RenderAllFormats"
  Case #WM_RENDERFORMAT : Text$ = "RenderFormat"
  Case #WM_RBUTTONDBLCLK : Text$ = "RButtonDBlclk"
  Case #WM_RBUTTONDOWN : Text$ = "RButtonDown"
  Case #WM_RBUTTONUP : Text$ = "RButtonUp"
  Case #WM_SETCURSOR : Text$ = "SetCursor"
  Case #WM_SETFOCUS : Text$ = "SetFocus"
  Case #WM_SETHOTKEY : Text$ = "SetHotKey"
  Case #WM_SETICON : Text$ = "SetIcon"
  Case #WM_SETREDRAW : Text$ = "SetRedraw"
  Case #WM_SETTEXT : Text$ = "SetText"
  Case #WM_SETTINGCHANGE : Text$ = "SettingChange"
  Case #WM_SHOWWINDOW : Text$ = "ShowWindow"
  Case #WM_SIZE : Text$ = "Size"
  Case #WM_SIZECLIPBOARD : Text$ = "SizeClipboard"
  Case #WM_SIZING : Text$ = "Sizing"
  Case #WM_STYLECHANGED : Text$ = "StyleChanged"
  Case #WM_STYLECHANGING : Text$ = "StyleChanging"
  Case #WM_SYSCHAR : Text$ = "SysChar"
  Case #WM_SYSCOMMAND : Text$ = "SysCommand"
  Case #WM_SYSDEADCHAR : Text$ = "SysDeadChar"
  Case #WM_SYSKEYDOWN : Text$ = "SysKeyDown"
  Case #WM_SYSKEYUP : Text$ = "SysKeyUp"
  Case #WM_TIMER : Text$ = "Timer"
  Case #WM_USER : Text$ = "User"
  Case #WM_USERCHANGED : Text$ = "UserChanged"
  Case #WM_VSCROLLCLIPBOARD : Text$ = "VScrollClipboard"
  Case #WM_WINDOWPOSCHANGED : Text$ = "WindowPosChanged"
  Case #WM_WINDOWPOSCHANGING : Text$ = "WindowPosChanging"
  Case #WM_WININICHANGE : Text$ = "WinIniChange"
 EndSelect
 Debug Text$+" "+Str(wParam)+" "+Str(lParam)
 ProcedureReturn Result
EndProcedure

If OpenWindow(0,0,0,500,500,"Test",#PB_Window_ScreenCentered|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget)
 hwnd = WindowID(0)
 SetWindowCallback(@Callback())
 If CreateGadgetList(hwnd)
  EditorGadget(0,20,20,360,360)
 EndIf
 If CreateMenu(0,hwnd)
  MenuTitle("Test")
   MenuItem(0,"Test")
 EndIf
 Repeat
  Event = WaitWindowEvent()
 Until Event = #PB_Event_CloseWindow
EndIf
Post Reply