现在的位置: 首页 > 综合 > 正文

《ASCE1885的源码分析》のWM_*代码转字符串表示的函数

2013年08月20日 ⁄ 综合 ⁄ 共 2826字 ⁄ 字号 评论关闭

一个将WM_*消息代码转换为字符串表示的函数:(打表法)

 

#include <windows.h>

 

struct WMArray {

         UINT Code;

         char Message[100];

} waWMArray[] = {

         {0x0000, "WM_NULL"},{0x0001, "WM_CREATE"},{0x0002, "WM_DESTROY"},{0x0003, "WM_MOVE"},

         {0x0005, "WM_SIZE"},{0x0006, "WM_ACTIVATE"},{0x0007, "WM_SETFOCUS"},{0x0008, "WM_KILLFOCUS"},

         {0x000A, "WM_ENABLE"},{0x000B, "WM_SETREDRAW"},{0x000C, "WM_SETTEXT"},{0x000D, "WM_GETTEXT"},

         {0x000E, "WM_GETTEXTLENGTH"},{0x000F, "WM_PAINT"},{0x0010, "WM_CLOSE"},{0x0011, "WM_QUERYENDSESSION"},

         {0x0012, "WM_QUIT"},{0x0013, "WM_QUERYOPEN"},{0x0014, "WM_ERASEBKGND"},{0x0015, "WM_SYSCOLORCHANGE"},

         {0x0016, "WM_ENDSESSION"},{0x0018, "WM_SHOWWINDOW"},{0x001A, "WM_WININICHANGE"},{WM_WININICHANGE, "WM_SETTINGCHANGE"},

         {0x001B, "WM_DEVMODECHANGE"},{0x001C, "WM_ACTIVATEAPP"},{0x001D, "WM_FONTCHANGE"},{0x001E, "WM_TIMECHANGE"},

         {0x001F, "WM_CANCELMODE"},{0x0020, "WM_SETCURSOR"},{0x0021, "WM_MOUSEACTIVATE"},{0x0022, "WM_CHILDACTIVATE"},

         {0x0023, "WM_QUEUESYNC"},{0x0024, "WM_GETMINMAXINFO"},{0x0026, "WM_PAINTICON"},{0x0027, "WM_ICONERASEBKGND"},

         {0x0028, "WM_NEXTDLGCTL"},{0x002A, "WM_SPOOLERSTATUS"},{0x002B, "WM_DRAWITEM"},{0x002C, "WM_MEASUREITEM"},

         {0x002D, "WM_DELETEITEM"},{0x002E, "WM_VKEYTOITEM"},{0x002F, "WM_CHARTOITEM"},{0x0030, "WM_SETFONT"},

         {0x0031, "WM_GETFONT"},{0x0032, "WM_SETHOTKEY"},{0x0033, "WM_GETHOTKEY"},{0x0037, "WM_QUERYDRAGICON"},

         {0x0039, "WM_COMPAREITEM"},{0x003D, "WM_GETOBJECT"},{0x0041, "WM_COMPACTING"},{0x0044, "WM_COMMNOTIFY"},

         {0x0046, "WM_WINDOWPOSCHANGING"},{0x0047, "WM_WINDOWPOSCHANGED"},{0x0048, "WM_POWER"},{0x004A, "WM_COPYDATA"},

         {0x004B, "WM_CANCELJOURNAL"},{0x004E, "WM_NOTIFY"},{0x0050, "WM_INPUTLANGCHANGEREQUEST"},{0x0051, "WM_INPUTLANGCHANGE"},

         {0x0052, "WM_TCARD"},{0x0053, "WM_HELP"},{0x0054, "WM_USERCHANGED"},{0x0055, "WM_NOTIFYFORMAT"},

         {0x007B, "WM_CONTEXTMENU"},{0x007C, "WM_STYLECHANGING"},{0x007D, "WM_STYLECHANGED"},{0x007E, "WM_DISPLAYCHANGE"},

         {0x007F, "WM_GETICON"},{0x0080, "WM_SETICON"},{0x0081, "WM_NCCREATE"},{0x0082, "WM_NCDESTROY"},

         {0x0083, "WM_NCCALCSIZE"},{0x0084, "WM_NCHITTEST"},{0x0085, "WM_NCPAINT"},{0x0086, "WM_NCACTIVATE"},

         {0x0087, "WM_GETDLGCODE"},{0x0088, "WM_SYNCPAINT"},{0x00A0, "WM_NCMOUSEMOVE"},{0x00A1, "WM_NCLBUTTONDOWN"},

         {0x00A2, "WM_NCLBUTTONUP"},{0x00A3, "WM_NCLBUTTONDBLCLK"},{0x00A4, "WM_NCRBUTTONDOWN"},{0x00A5, "WM_NCRBUTTONUP"},

         {0x00A6, "WM_NCRBUTTONDBLCLK"},{0x00A7, "WM_NCMBUTTONDOWN"},{0x00A8, "WM_NCMBUTTONUP"},{0x00A9, "WM_NCMBUTTONDBLCLK"},

         {0x0100, "WM_KEYFIRST"},{0x0100, "WM_KEYDOWN"},{0x0101, "WM_KEYUP"},{0x0102, "WM_CHAR"},

         {0x0103, "WM_DEADCHAR"},{0x0104, "WM_SYSKEYDOWN"},{0x0105, "WM_SYSKEYUP"},{0x0106, "WM_SYSCHAR"},

         {0x0107, "WM_SYSDEADCHAR"},{0x0108, "WM_KEYLAST"},{0x010D, "WM_IME_STARTCOMPOSITION"},{0x010E, "WM_IME_ENDCOMPOSITION"

抱歉!评论已关闭.