この記事は2年以上前に書いたものです。
そのため情報が古い可能性があります。ご了承ください。m(_ _)m
そのため情報が古い可能性があります。ご了承ください。m(_ _)m
けど、Hexな値を吐いて毎回WinUser.hから探すのはメンドイので、
上手いやり方がないか試行錯誤した結果、以下で落ち着いた。
#define TOSTRING(str) \ #str const char *getWindowMessage(UINT uMsg) { switch(uMsg) { case WM_NULL: return TOSTRING(WM_NULL); case WM_CREATE: return TOSTRING(WM_CREATE); case WM_DESTROY: return TOSTRING(WM_DESTROY); case WM_SETFOCUS: return TOSTRING(WM_SETFOCUS); case WM_KILLFOCUS: return TOSTRING(WM_KILLFOCUS); case WM_ENABLE: return TOSTRING(WM_ENABLE); case WM_SETREDRAW: return TOSTRING(WM_SETREDRAW); case WM_SETTEXT: return TOSTRING(WM_SETTEXT); case WM_GETTEXT: return TOSTRING(WM_GETTEXT); case WM_GETTEXTLENGTH: return TOSTRING(WM_GETTEXTLENGTH); case WM_PAINT: return TOSTRING(WM_PAINT); case WM_CLOSE: return TOSTRING(WM_CLOSE); case WM_QUIT: return TOSTRING(WM_QUIT); case WM_SHOWWINDOW: return TOSTRING(WM_SHOWWINDOW); case WM_INITDIALOG: return TOSTRING(WM_INITDIALOG); case WM_COMMAND: return TOSTRING(WM_COMMAND); case WM_SYSCOMMAND: return TOSTRING(WM_SYSCOMMAND); case WM_TIMER: return TOSTRING(WM_TIMER); case WM_HSCROLL: return TOSTRING(WM_HSCROLL); case WM_VSCROLL: return TOSTRING(WM_VSCROLL); case WM_INITMENU: return TOSTRING(WM_INITMENU); case WM_INITMENUPOPUP: return TOSTRING(WM_INITMENUPOPUP); ・・・ } static char buf[8]; wsprintf(buf, "0x%x", uMsg); return buf; }