Une liste non exhaustive des messages window qui permettra de faire la correspondance entre la valeur numérique et le message WM_**** associé que l'on pourra mettre à jour.
Le fichier "Event_View.pb":
Code : Tout sélectionner
Global Event_View.s, NoEvent_View.s
Event_View + "WM_ACTIVATE 0006"
Event_View + "WM_ACTIVATEAPP 001C"
Event_View + "WM_AFXFIRST 0360"
Event_View + "WM_AFXLAST 037F"
Event_View + "WM_APP 8000"
Event_View + "WM_APPCOMMAND 0319"
Event_View + "WM_ASKCBFORMATNAME 030C"
Event_View + "WM_CANCELJOURNAL 004B"
Event_View + "WM_CANCELMODE 01F"
Event_View + "WM_CAPTURECHANGED 0215"
Event_View + "WM_CHANGECBCHAIN 030D"
Event_View + "WM_CHANGEUISTATE 0127"
Event_View + "WM_CHAR 0102"
Event_View + "WM_CHARTOITEM 02F"
Event_View + "WM_CHILDACTIVATE 0022"
Event_View + "WM_CLEAR 0303"
Event_View + "WM_CLOSE 0010"
Event_View + "WM_COMMAND 0111"
Event_View + "WM_COMMNOTIFY 0044"
Event_View + "WM_COMPACTING 0041"
Event_View + "WM_COMPAREITEM 0039"
Event_View + "WM_CONTEXTMENU 007B"
Event_View + "WM_CONVERTREQUEST 010A"
Event_View + "WM_CONVERTREQUESTEX 0108"
Event_View + "WM_CONVERTRESULT 010B"
Event_View + "WM_COPY 0301"
Event_View + "WM_COPYDATA 004A"
Event_View + "WM_CREATE 0001"
Event_View + "WM_CTLCOLOR 0019"
Event_View + "WM_CTLCOLORBTN 0135"
Event_View + "WM_CTLCOLORDLG 0136"
Event_View + "WM_CTLCOLOREDIT 0133"
Event_View + "WM_CTLCOLORLISTBOX 0134"
Event_View + "WM_CTLCOLORMSGBOX 0132"
Event_View + "WM_CTLCOLORSCROLLBAR 0137"
Event_View + "WM_CTLCOLORSTATIC 0138"
Event_View + "WM_CUT 0300"
Event_View + "WM_DDE_ACK 03E4"
Event_View + "WM_DDE_ADVISE 03E2"
Event_View + "WM_DDE_DATA 03E5"
Event_View + "WM_DDE_EXECUTE 03E8"
Event_View + "WM_DDE_FIRST 03E0"
Event_View + "WM_DDE_LAST 03E8"
Event_View + "WM_DDE_POKE 03E7"
Event_View + "WM_DDE_REQUEST 03E6"
Event_View + "WM_DDE_TERMINATE 03E1"
Event_View + "WM_DDE_UNADVISE 03E3"
Event_View + "WM_DEADCHAR 0103"
Event_View + "WM_DELETEITEM 002D"
Event_View + "WM_DESTROY 0002"
Event_View + "WM_DESTROYCLIPBOARD 0307"
Event_View + "WM_DEVICECHANGE 0219"
Event_View + "WM_DEVMODECHANGE 001B"
Event_View + "WM_DISPLAYCHANGE 007E"
Event_View + "WM_DRAWCLIPBOARD 0308"
Event_View + "WM_DRAWITEM 002B"
Event_View + "WM_DROPFILES 0233"
Event_View + "WM_ENABLE 000A"
Event_View + "WM_ENDSESSION 0016"
Event_View + "WM_ENTERIDLE 0121"
Event_View + "WM_ENTERMENULOOP 0211"
Event_View + "WM_ENTERSIZEMOVE 0231"
Event_View + "WM_ERASEBKGND 0014"
Event_View + "WM_EXITMENULOOP 0212"
Event_View + "WM_EXITSIZEMOVE 0232"
Event_View + "WM_FONTCHANGE 001D"
Event_View + "WM_FORWARDMSG 037F"
Event_View + "WM_GETDLGCODE 0087"
Event_View + "WM_GETFONT 0031"
Event_View + "WM_GETHOTKEY 0033"
Event_View + "WM_GETICON 007F"
Event_View + "WM_GETMINMAXINFO 0024"
Event_View + "WM_GETOBJECT 003D"
Event_View + "WM_GETTEXT 000D"
Event_View + "WM_GETTEXTLENGTH 000E"
Event_View + "WM_HANDHELDFIRST 0358"
Event_View + "WM_HANDHELDLAST 035F"
Event_View + "WM_HELP 0053"
Event_View + "WM_HOTKEY 0312"
Event_View + "WM_HSCROLL 0114"
Event_View + "WM_HSCROLLCLIPBOARD 030E"
Event_View + "WM_ICONERASEBKGND 0027"
Event_View + "WM_IME_CHAR 0286"
Event_View + "WM_IME_COMPOSITION 010F"
Event_View + "WM_IME_COMPOSITIONFULL 0284"
Event_View + "WM_IME_CONTROL 0283"
Event_View + "WM_IME_ENDCOMPOSITION 010E"
Event_View + "WM_IME_KEYDOWN 0290"
Event_View + "WM_IME_KEYLAST 010F"
Event_View + "WM_IME_KEYUP 0291"
Event_View + "WM_IME_NOTIFY 0282"
Event_View + "WM_IME_REPORT 0280"
Event_View + "WM_IME_REQUEST 0288"
Event_View + "WM_IME_SELECT 0285"
Event_View + "WM_IME_SETCONTEXT 0281"
Event_View + "WM_IME_STARTCOMPOSITION 010D"
Event_View + "WM_IMEKEYDOWN 0290"
Event_View + "WM_IMEKEYUP 0291"
Event_View + "WM_INITDIALOG 0110"
Event_View + "WM_INITMENU 0116"
Event_View + "WM_INITMENUPOPUP 0117"
Event_View + "WM_INPUTLANGCHANGE 0051"
Event_View + "WM_INPUTLANGCHANGEREQUEST 0050"
Event_View + "WM_INTERIM 010C"
Event_View + "WM_KEYDOWN 0100"
;Event_View + "WM_KEYFIRST 0100" idem que WM_KEYDOWN ?
Event_View + "WM_KEYLAST 0108"
Event_View + "WM_KEYUP 0101"
Event_View + "WM_KILLFOCUS 0008"
Event_View + "WM_LBUTTONDBLCLK 0203"
Event_View + "WM_LBUTTONDOWN 0201"
Event_View + "WM_LBUTTONUP 0202"
Event_View + "WM_MBUTTONDBLCLK 0209"
Event_View + "WM_MBUTTONDOWN 0207"
Event_View + "WM_MBUTTONUP 0208"
Event_View + "WM_MDIACTIVATE 0222"
Event_View + "WM_MDICASCADE 0227"
Event_View + "WM_MDICREATE 0220"
Event_View + "WM_MDIDESTROY 0221"
Event_View + "WM_MDIGETACTIVE 0229"
Event_View + "WM_MDIICONARRANGE 0228"
Event_View + "WM_MDIMAXIMIZE 0225"
Event_View + "WM_MDINEXT 0224"
Event_View + "WM_MDIREFRESHMENU 0234"
Event_View + "WM_MDIRESTORE 0223"
Event_View + "WM_MDISETMENU 0230"
Event_View + "WM_MDITILE 0226"
Event_View + "WM_MEASUREITEM 002C"
Event_View + "WM_MENUCHAR 0120"
Event_View + "WM_MENUCOMMAND 0126"
Event_View + "WM_MENUDRAG 0123"
Event_View + "WM_MENUGETOBJECT 0124"
Event_View + "WM_MENURBUTTONUP 0122"
Event_View + "WM_MENUSELECT 011F"
Event_View + "WM_MOUSEACTIVATE 0021"
;Event_View + "WM_MOUSEFIRST 0200" idem que WM_MOUSEMOVE ?
Event_View + "WM_MOUSEHOVER 02A1"
Event_View + "WM_MOUSELAST 0209"
Event_View + "WM_MOUSELEAVE 02A3"
Event_View + "WM_MOUSEMOVE 0200"
Event_View + "WM_MOUSEWHEEL 020A"
Event_View + "WM_MOVE 0003"
Event_View + "WM_MOVING 0216"
Event_View + "WM_NCACTIVATE 0086"
Event_View + "WM_NCCALCSIZE 0083"
Event_View + "WM_NCCREATE 0081"
Event_View + "WM_NCDESTROY 0082"
Event_View + "WM_NCHITTEST 0084"
Event_View + "WM_NCLBUTTONDBLCLK 00A3"
Event_View + "WM_NCLBUTTONDOWN 00A1"
Event_View + "WM_NCLBUTTONUP 00A2"
Event_View + "WM_NCMBUTTONDBLCLK 00A9"
Event_View + "WM_NCMBUTTONDOWN 00A7"
Event_View + "WM_NCMBUTTONUP 00A8"
Event_View + "WM_NCMOUSEHOVER 02A0"
Event_View + "WM_NCMOUSELEAVE 02A2"
Event_View + "WM_NCPAINT 0085"
Event_View + "WM_NCRBUTTONDBLCLK 00A6"
Event_View + "WM_NCRBUTTONDOWN 00A4"
Event_View + "WM_NCRBUTTONUP 00A5"
Event_View + "WM_NCXBUTTONDBLCLK 00AD"
Event_View + "WM_NCXBUTTONDOWN 00AB"
Event_View + "WM_NCXBUTTONUP 00AC"
Event_View + "WM_NEXTDLGCTL 0028"
Event_View + "WM_NEXTMENU 0213"
Event_View + "WM_NOTIFY 004E"
Event_View + "WM_NOTIFYFORMAT 0055"
Event_View + "WM_NULL 0000"
Event_View + "WM_OTHERWINDOWCREATED 0042"
Event_View + "WM_OTHERWINDOWDESTROYED 0043"
Event_View + "WM_PAINT 000F"
Event_View + "WM_PAINTCLIPBOARD 0309"
Event_View + "WM_PAINTICON 0026"
Event_View + "WM_PALETTECHANGED 0311"
Event_View + "WM_PALETTEISCHANGING 0310"
Event_View + "WM_PARENTNOTIFY 0210"
Event_View + "WM_PASTE 0302"
Event_View + "WM_PENWINFIRST 0380"
Event_View + "WM_PENWINLAST 038F"
Event_View + "WM_POWER 0048"
Event_View + "WM_POWERBROADCAST 0218"
Event_View + "WM_PRINT 0317"
Event_View + "WM_PRINTCLIENT 0318"
Event_View + "WM_QUERYDRAGICON 0037"
Event_View + "WM_QUERYENDSESSION 0011"
Event_View + "WM_QUERYNEWPALETTE 030F"
Event_View + "WM_QUERYOPEN 0013"
Event_View + "WM_QUERYUISTATE 0129"
Event_View + "WM_QUEUESYNC 0023"
Event_View + "WM_QUIT 0012"
Event_View + "WM_RASDIALEVENT CCCD"
Event_View + "WM_RBUTTONDBLCLK 0206"
Event_View + "WM_RBUTTONDOWN 0204"
Event_View + "WM_RBUTTONUP 0205"
Event_View + "WM_RENDERALLFORMATS 0306"
Event_View + "WM_RENDERFORMAT 0305"
Event_View + "WM_SETCURSOR 0020"
Event_View + "WM_SETFOCUS 0007"
Event_View + "WM_SETFONT 0030"
Event_View + "WM_SETHOTKEY 0032"
Event_View + "WM_SETICON 0080"
Event_View + "WM_SETREDRAW 000B"
Event_View + "WM_SETTEXT 000C"
Event_View + "WM_SHOWWINDOW 0018"
Event_View + "WM_SIZE 0005"
Event_View + "WM_SIZECLIPBOARD 030B"
Event_View + "WM_SIZING 0214"
Event_View + "WM_SPOOLERSTATUS 002A"
Event_View + "WM_STYLECHANGED 007D"
Event_View + "WM_STYLECHANGING 007C"
Event_View + "WM_SYNCPAINT 0088"
Event_View + "WM_SYSCHAR 0106"
Event_View + "WM_SYSCOLORCHANGE 0015"
Event_View + "WM_SYSCOMMAND 0112"
Event_View + "WM_SYSDEADCHAR 0107"
Event_View + "WM_SYSKEYDOWN 0104"
Event_View + "WM_SYSKEYUP 0105"
Event_View + "WM_TCARD 0052"
Event_View + "WM_TIMECHANGE 001E"
Event_View + "WM_TIMER 0113"
Event_View + "WM_UNDO 0304"
Event_View + "WM_UNINITMENUPOPUP 0125"
Event_View + "WM_UPDATEUISTATE 0128"
Event_View + "WM_USER 0400"
Event_View + "WM_USERCHANGED 0054"
Event_View + "WM_VKEYTOITEM 002E"
Event_View + "WM_VSCROLL 0115"
Event_View + "WM_VSCROLLCLIPBOARD 030A"
Event_View + "WM_WINDOWPOSCHANGED 0047"
Event_View + "WM_WINDOWPOSCHANGING 0046"
Event_View + "WM_WININICHANGE 001A"
Event_View + "WM_WNT_CONVERTREQUESTEX 0109"
Event_View + "WM_XBUTTONDBLCLK 020D"
Event_View + "WM_XBUTTONDOWN 020B"
Event_View + "WM_XBUTTONUP 020C"
Procedure RemoveEvent(RemoveMessage.s)
NoEvent_View = NoEvent_View + RemoveMessage + " "
EndProcedure
Procedure.l ViewEvent(Number.l)
Protected Message.s, NumberHex.s
NumberHex = RSet(Hex(number), 4, "0")
PositionDepart = FindString(Event_View, NumberHex, 1)
If PositionDepart
Message = Mid(Event_View, PositionDepart-26, 25)
Message = RTrim(Message)
If FindString(NoEvent_View, Message, 1) = 0
Debug Message
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndIf
Debug "Message Inconnu= " + NumberHex
ProcedureReturn 1
EndProcedure
Un code pour tester:
Code : Tout sélectionner
CompilerIf #PB_Compiler_Debugger
IncludeFile : "Event_View.pb"
CompilerEndIf
Procedure WinCallback(hWnd, uMsg, wParam, lParam)
CompilerIf #PB_Compiler_Debugger
ViewEvent(uMsg)
CompilerEndIf
If uMsg = #WM_SIZE
Select wParam
Case #SIZE_MINIMIZED
Debug "La fenêtre est minimisée"
Case #SIZE_RESTORED
Debug "La fenêtre est rétablie"
Case #SIZE_MAXIMIZED
Debug "La fenêtre est agrandie"
EndSelect
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
If OpenWindow(0, 0, 0, 200, 100, "Messages", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
CompilerIf #PB_Compiler_Debugger
; Cette fonction permet de supprimer de notre liste certains messages
; que l'on connait ou qui reviennent trop souvent
RemoveEvent("WM_MOUSEMOVE WM_NCMOUSEMOVE WM_SETCURSOR")
CompilerEndIf
SetWindowCallback(@WinCallback())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf