Files
vfp_roaauto/COMUN/utile/Menu/win32api.h

1208 lines
48 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*--
*--
*--
#Define CR Chr(13)
#Define LF Chr(10)
#Define CRLF CR + LF
#Define TRUE .T.
#Define FALSE .F.
*--
*-- data types
*--
#Define WORD_SIZE 2
#Define DWORD_SIZE 4
*--
*--
*--
#Define POINT_SIZE DWORD_SIZE * 2
#Define RECT_SIZE DWORD_SIZE * 4
#Define BITMAP_SIZE DWORD_SIZE * 4 + WORD_SIZE * 2 + DWORD_SIZE
#Define DRAWITEMSTRUCT_SIZE 64
#Define MEASUREITEMSTRUCT_SIZE DWORD_SIZE * 6
#Define ICONINFO_SIZE DWORD_SIZE * 5
***
***
***
#Define BI_RGB 0x00
#Define DIB_RGB_COLORS 0
#Define TS_MIN 0
#Define TS_TRUE 1
#Define TS_DRAW 2
*--
*-- Window messages
*--
#Define WM_NULL 0x00 && ??
#Define WM_CREATE 0x01 && 创建一个窗口
#Define WM_DESTROY 0x02 && 窗口被销毁
#Define WM_MOVE 0x03 && 移动窗口时
#Define WM_SIZE 0x05 && 改变一个窗口的大小
#Define WM_ACTIVATE 0x06 && 激活一个窗口
#Define WM_SETFOCUS 0x07 && 窗口得到焦点时
#Define WM_KILLFOCUS 0x08 && 失去焦点时
#Define WM_ENABLE 0x0A && 改变enable状态
#Define WM_SETREDRAW 0x0B && 设置窗口是否能重画
#Define WM_SETTEXT 0x0C && 应用程序发送此消息来设置一个窗口的文本
#Define WM_GETTEXT 0x0D
#Define WM_GETTEXTLENGTH 0x0E
#Define WM_PAINT 0x0F && 要求重画自己
#Define WM_CLOSE 0x10 && 当一个窗口或应用程序要关闭时发送一个信号
#Define WM_QUERYENDSESSION 0x11
#Define WM_QUIT 0x12
#Define WM_QUERYOPEN 0x13
#Define WM_ERASEBKGND 0x14
#Define WM_SYSCOLORCHANGE 0x15 && 当系统颜色改变时,发送此消息给所有顶级窗口
#Define WM_ENDSESSION 0x16
#Define WM_SHOWWINDOW 0x18
#Define WM_WININICHANGE 0x1A && Win.ini 文件被改变,系统以广播形式通知每个窗口
#Define WM_DEVMODECHANGE 0x1B
#Define WM_ACTIVATEAPP 0x1C
#Define WM_FONTCHANGE 0x1D
#Define WM_TIMECHANGE 0x1E
#Define WM_CANCELMODE 0x1F
#Define WM_SETCURSOR 0x20 && 鼠标的形状改变时
#Define WM_MOUSEACTIVATE 0x21
#Define WM_CHILDACTIVATE 0x22
#Define WM_QUEUESYNC 0x23
#Define WM_GETMINMAXINFO 0x24
#Define WM_PAINTICON 0x26
#Define WM_ICONERASEBKGND 0x27
#Define WM_NEXTDLGCTL 0x28
#Define WM_SPOOLERSTATUS 0x2A
#Define WM_DRAWITEM 0x2B && 绘制菜单项
#Define WM_MEASUREITEM 0x2C && 测量菜单高度和宽度
#Define WM_DELETEITEM 0x2D
#Define WM_VKEYTOITEM 0x2E
#Define WM_CHARTOITEM 0x2F
#Define WM_SETFONT 0x30
#Define WM_GETFONT 0x31
#Define WM_SETHOTKEY 0x32
#Define WM_GETHOTKEY 0x33
#Define WM_QUERYDRAGICON 0x37
#Define WM_COMPAREITEM 0x39 && 发送此消息来判定 combobox 或 listbox 新增加的项的相对位置
#Define WM_GETOBJECT 0x3D
#Define WM_COMPACTING 0x41 && 显示内存已经很少了
#Define WM_OTHERWINDOWCREATED 0x42
#Define WM_OTHERWINDOWDESTROYED 0x43
#Define WM_COMMNOTIFY 0x44
#Define WM_WINDOWPOSCHANGING 0x46 && 窗口的大小和位置将要被改变时
#Define WM_WINDOWPOSCHANGED 0x47 && 发送此消息给那个窗口的大小和位置已经被改变
#Define WM_POWER 0x48 && (适用于16位的windows 当系统将要进入暂停状态时发送此消息
#Define WM_HELP 0x53
#Define WM_COPYDATA 0x4A && 当一个应用程序传递数据给另一个应用程序时发送此消息
#Define WM_CANCELJOURNAL 0x4B && 当某个用户取消程序日志激活状态,提交此消息给程序
#Define WM_NOTIFY 0x4E && 当某个控件的某个事件已经发生或这个控件需要得到一些信息时,发送此消息给它的父窗口
#Define WM_CONTEXTMENU 0x7B && 当用户某个窗口中点击了一下右键就发送此消息给这个窗口
#Define WM_STYLECHANGED 0x7D && 当调用SETWINDOWLONG函数一个或多个窗口的风格后发送此消息给那个窗口
#Define WM_SETICON 0x80 && 应用程序发送此消息让一个新的大图标或小图标与窗口关联
#Define WM_NCCREATE 0x81
#Define WM_NCDESTROY 0x82
#Define WM_NCCALCSIZE 0x83
#Define WM_NCHITTEST 0x84 && 在整个窗口内移动鼠标
#Define WM_NCPAINT 0x85 && 当窗口的框架必须被绘制时(大小改变或者风格改变?)
#Define WM_NCACTIVATE 0x86 && 窗口非客户区需要被改变来显示是激活还是非激活状态
#Define WM_GETDLGCODE 0x87
#Define WM_SYNCPAINT 0x88
#Define WM_NCMOUSEMOVE 0xA0 && 鼠标在窗口非客户区内移动,非客户区指:窗体的标题栏及窗的边框体
#Define WM_NCLBUTTONDOWN 0xA1 && 鼠标在窗口非客户区内按下鼠标左键时
#Define WM_NCLBUTTONUP 0xA2 && 鼠标在窗口非客户区内抬起鼠标左键时
#Define WM_NCLBUTTONDBLCLK 0xA3 && 鼠标在窗口非客户区内双击鼠标左键时
#Define WM_NCRBUTTONDOWN 0xA4 && 鼠标在窗口非客户区内按下鼠标右键时
#Define WM_NCRBUTTONUP 0xA5 && 鼠标在窗口非客户区内抬起鼠标右键时
#Define WM_NCRBUTTONDBLCLK 0xA6 && 鼠标在窗口非客户区内双击鼠标右键时
#Define WM_NCMBUTTONDOWN 0xA7
#Define WM_NCMBUTTONUP 0xA8
#Define WM_NCMBUTTONDBLCLK 0xA9
#Define WM_KEYFIRST 0x0100
#Define WM_KEYDOWN 0x0100 && 按下一个键时
#Define WM_KEYUP 0x0101 && 抬起一个键
#Define WM_CHAR 0x0102 && 按下了某键,并已发出 WM_KEYDOWN 与 WM_KEYUP 消息
#Define WM_DEADCHAR 0x0103 && 当用 translatemessage 函数翻译 WM_KEYUP 消息时发送此消息给拥有焦点的窗口
#Define WM_SYSKEYDOWN 0x0104 && 当用户按住 ALT 键同时按下其它键时提交此消息给拥有焦点的窗口
#Define WM_SYSKEYUP 0x0105 && 当用户释放一个键同时 ALT 键还按着时提交此消息给拥有焦点的窗口
#Define WM_SYSCHAR 0x0106 && 当 WM_SYSKEYDOWN 消息被 TRANSLATEMESSAGE 函数翻译后提交此消息给拥有焦点的窗口
#Define WM_SYSDEADCHAR 0x0107 && 当 WM_SYSKEYDOWN 消息被 TRANSLATEMESSAGE 函数翻译后发送此消息给拥有焦点的窗口
#Define WM_KEYLAST 0x0108
#Define WM_INITDIALOG 0x0110 && 在一个对话框程序被显示前发送此消息给它,常用此消息初始化控件和执行其它任务
#Define WM_COMMAND 0x0111 && 选择菜单项
#Define WM_SYSCOMMAND 0x0112 && 窗口菜单的一条命令或当用户选择最大化或最小化时那个窗口时
#Define WM_TIMER 0x0113
#Define WM_INITMENU 0x0116 && 当一个菜单将要被激活时发送此消息,它发生在用户菜单条中的某项或按下某个菜单键
#Define WM_INITMENUPOPUP 0x0117 && 当一个下拉菜单或子菜单将要被激活时发送此消息
#Define WM_MENUSELECT 0x011F && 选择菜单项
#Define WM_MENUCHAR 0x0120 && 当菜单已被激活用户按下了某个键(不同于访问键),发送此消息给菜单的所有者
#Define WM_ENTERIDLE 0x0121 && 当一个模态对话框或菜单进入空载状态时发送此消息给它的所有者
#Define WM_MENURBUTTONUP 0x0122
#Define WM_MENUDRAG 0x0123
#Define WM_MENUGETOBJECT 0x0124
#Define WM_UNINITMENUPOPUP 0x0125
#Define WM_CTLCOLORMSGBOX 0x0132
#Define WM_CTLCOLOREDIT 0x0133
#Define WM_CTLCOLORLISTBOX 0x0134
#Define WM_CTLCOLORBTN 0x0135
#Define WM_CTLCOLORDLG 0x0136
#Define WM_CTLCOLORSCROLLBAR 0x0137
#Define WM_CTLCOLORSTATIC 0x0138
#Define WM_MOUSEFIRST 0x0200
#Define WM_MOUSEMOVE 0x0200
#Define WM_LBUTTONDOWN 0x0201 && 在窗口客户区内按下鼠标左键
#Define WM_LBUTTONUP 0x0202 && 在窗口客户区内抬起鼠标左键
#Define WM_LBUTTONDBLCLK 0x0203 && 在窗口客户区内双击鼠标左键
#Define WM_RBUTTONDOWN 0x0204 && 在窗口客户区内按下鼠标右键
#Define WM_RBUTTONUP 0x0205 && 在窗口客户区内抬起鼠标右键
#Define WM_RBUTTONDBLCLK 0x0206 && 在窗口客户区内双击鼠标右键
#Define WM_MBUTTONDOWN 0x0204 && 在窗口客户区内按下鼠标中键
#Define WM_MBUTTONUP 0x0205 && 在窗口客户区内抬起鼠标中键
#Define WM_MBUTTONDBLCLK 0x0206 && 在窗口客户区内双击鼠标中键
#Define WM_MBUTTONDOWN 0x0207
#Define WM_MBUTTONUP 0x0208
#Define WM_MBUTTONDBLCLK 0x0209
#Define WM_MOUSELAST 0x0209
#Define WM_PARENTNOTIFY 0x0210
#Define WM_ENTERMENULOOP 0x0211
#Define WM_EXITMENULOOP 0x0212 && 退出菜单消息循环
#Define WM_NEXTMENU 0x0213
#Define WM_SIZING 0x0214
#Define WM_CAPTURECHANGED 0x0215
#Define WM_MDICREATE 0x0220
#Define WM_MDIDESTROY 0x0221
#Define WM_MDIACTIVATE 0x0222
#Define WM_MDIRESTORE 0x0223
#Define WM_MDINEXT 0x0224
#Define WM_MDIMAXIMIZE 0x0225
#Define WM_MDITILE 0x0226
#Define WM_MDICASCADE 0x0227
#Define WM_MDIICONARRANGE 0x0228
#Define WM_MDIGETACTIVE 0x0229
#Define WM_MDISETMENU 0x0230
#Define WM_DROPFILES 0x0233
#Define WM_MDIREFRESHMENU 0x0234
#Define WM_IME_SETCONTEXT 0x0281
#Define WM_CUT 0x0300
#Define WM_COPY 0x0301
#Define WM_PASTE 0x0302
#Define WM_CLEAR 0x0303
#Define WM_UNDO 0x0304
#Define WM_RENDERFORMAT 0x0305
#Define WM_RENDERALLFORMATS 0x0306
#Define WM_DESTROYCLIPBOARD 0x0307
#Define WM_DRAWCLIPBOARD 0x0308
#Define WM_PAINTCLIPBOARD 0x0309
#Define WM_VSCROLLCLIPBOARD 0x030A
#Define WM_SIZECLIPBOARD 0x030B
#Define WM_ASKCBFORMATNAME 0x030C
#Define WM_CHANGECBCHAIN 0x030D
#Define WM_HSCROLLCLIPBOARD 0x030E
#Define WM_QUERYNEWPALETTE 0x030F
#Define WM_PALETTEISCHANGING 0x0310
#Define WM_PALETTECHANGED 0x0311
#Define WM_HOTKEY 0x0312
#Define WM_THEMECHANGED 0x031A && 当系统主题改变时(xp)
#Define WM_PENWINFIRST 0x0380
#Define WM_PENWINLAST 0x038F
#Define WM_USER 0x0400 && 最低用户可用自定义消息
#Define WM_SETTINGCHANGE WM_WININICHANGE
*--
*-- Message SYSCOMMAND by wPara
*--
#Define SC_SIZE 0xF000
#Define SC_MOVE 0xF010
#Define SC_MINIMIZE 0xF020
#Define SC_MAXIMIZE 0xF030
#Define SC_NEXTWINDOW 0xF040
#Define SC_PREVWINDOW 0xF050
#Define SC_CLOSE 0xF060
#Define SC_VSCROLL 0xF070
#Define SC_HSCROLL 0xF080
#Define SC_MOUSEMENU 0xF090
#Define SC_KEYMENU 0xF100
#Define SC_ARRANGE 0xF110
#Define SC_RESTORE 0xF120
#Define SC_TASKLIST 0xF130
#Define SC_SCREENSAVE 0xF140
#Define SC_HOTKEY 0xF150
#Define SC_ICON SC_MINIMIZE
#Define SC_ZOOM SC_MAXIMIZE
#Define SC_MANAGER_CONNECT 0x01
#Define SC_MANAGER_CREATE_SERVICE 0x02
#Define SC_MANAGER_ENUMERATE_SERVICE 0x04
#Define SC_MANAGER_LOCK 0x08
#Define SC_MANAGER_QUERY_LOCK_STATUS 0x10
#Define SC_MANAGER_MODIFY_BOOT_CONFIG 0x20
#Define SC_MANAGER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED ;
+ SC_MANAGER_CONNECT ;
+ SC_MANAGER_CREATE_SERVICE ;
+ SC_MANAGER_ENUMERATE_SERVICE ;
+ SC_MANAGER_LOCK ;
+ SC_MANAGER_QUERY_LOCK_ST
#Define SC_FLAGS 0x0400
#Define SC_FLAGS_STR "/sc"
#Define SC_GROUP_IDENTIFIER "+"
#Define SC_GROUP_IDENTIFIERA "+"
#Define SC_GROUP_IDENTIFIERW "+"
#Define MSGF_DIALOGBOX 0
#Define MSGF_MESSAGEBOX 1
#Define MSGF_MENU 2
#Define MSGF_MOVE 3
#Define MSGF_SIZE 4
#Define MSGF_SCROLLBAR 5
#Define MSGF_NEXTWINDOW 6
#Define MSGF_MAINLOOP 8
#Define MSGF_MAX 8
#Define MSGF_USER 0x1000
#Define MSGF_DDEMGR 0x8001
*--
*-- ??? To WM_MENUCHAR
*--
#Define MNC_CLOSE 1
#Define MNC_EXECUTE 2
#Define MNC_IGNORE 0
#Define MNC_SELECT 3
#Define MND_CONTINUE 0
#Define MND_ENDMENU 1
*--
*-- dwStyle To CreateWindow
*--
#Define WS_MAXIMIZEBOX 0x010000 && 有最大化按钮
#Define WS_MINIMIZEBOX 0x020000 && 有最小化按钮
#Define WS_THICKFRAME 0x040000 && 有可调边框(与 WS_SIZEBOX 样式相同)
#Define WS_SYSMENU 0x080000 && 标题框上带有窗口菜单(须指定 WS_CAPTION 样式)
#Define WS_HSCROLL 0x100000 && 有水平滚动条
#Define WS_VSCROLL 0x200000 && 有垂直滚动条
#Define WS_DLGFRAME 0x400000 && 带对话框边框样式,不带标题框
#Define WS_BORDER 0x800000 && 有单边框
#Define WS_CAPTION 0xC00000 && 有标题框和边框(和WS_TILED样式相同)
#Define WS_MAXIMIZE 0x01000000 && 具有最大化按钮,须指定WS_SYSTEM样式
#Define WS_CLIPCHILDREN 0x02000000 && 当在父窗口内绘图时,排除子窗口区域
#Define WS_CLIPSIBLINGS 0x04000000 && 使窗口排除子窗口之间的相对区域
#Define WS_DISABLED 0x08000000 && 不可用状态
#Define WS_VISIBLE 0x10000000 && 可见状态
#Define WS_MINIMIZE 0x20000000 && 最小化状态
#Define WS_CHILD 0x40000000 &&
#Define WS_POPUP 0x80000000 && 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)
#Define WS_SIZEBOX WS_THICKFRAME && 可调整大小的边框
#Define WS_CHILDWINDOW WS_CHILD && 子窗口(不能与WS_POPUP合用)
*
#Define WS_TABSTOP 0x010000 && 可接受 TAB 键焦点
#Define WS_GROUP 0x020000 && 组样式,每个组的第一个控件具有 WS_TABSTOP 样式
#Define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED + WS_CAPTION + WS_SYSMENU + WS_THICKFRAME + WS_MINIMIZEBOX + WS_MAXIMIZEBOX)
&& ,,,,
#Define WS_POPUPWINDOW (WS_POPUP + WS_BORDER + WS_SYSMENU)
&& ,,
*--
*-- dwExStyle To CreateWindowEx
*--
#Define WS_EX_DLGMODALFRAME 0x01 && 带双层边框
#Define WS_EX_NOPARENTNOTIFY 0x04 && 创建/销毁时不通知父窗口
#Define WS_EX_TOPMOST 0x08 && 窗口置顶(停留在所有非最高层窗口的上面)
#Define WS_EX_ACCEPTFILES 0x10 && 可接受文件拖放
#Define WS_EX_TRANSPARENT 0x20 && 透明样式,在同属窗口已重画时该窗口才可重画
#Define WS_EX_MDICHILD 0x40 && MDI子窗口样式
#Define WS_EX_TOOLWINDOW 0x80 && 工具条窗口样式
#Define WS_EX_WINDOWEDGE 0x0100 && 带凸起边缘的边框
#Define WS_EX_CLIENTEDGE 0x0200 && 带阴影的边缘
#Define WS_EX_CONTEXTHELP 0x0400 && 有上下文帮助样式,标题栏包含一个问号标志
#Define WS_EX_RIGHT 0x1000 && 右对齐
#Define WS_EX_RTLREADING 0x2000 && 窗口文本从右到左显示
#Define WS_EX_LEFTSCROLLBAR 0x4000 && 垂直滚动条在窗口左边界
#Define WS_EX_CONTROLPARENT 0x010000 && 允许用户使用TAB键在窗口的子窗口间搜索
#Define WS_EX_STATICEDGE 0x020000 && 当窗口为不可用状态时创建一个三维边缘
#Define WS_EX_APPWINDOW 0x040000 && 当窗口可见时将一个顶层窗口放置在任务栏上
#Define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE + WS_EX_CLIENTEDGE)
&& ,
#Define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE + WS_EX_TOOLWINDOW + WS_EX_TOPMOST)
&& ,,
#Define WS_EX_LAYERED 0x080000 && 分层或透明窗口,该样式可使用混合特效
#Define WS_EX_NOINHERITLAYOUT 0x100000 && 子控件不继承窗体或控件的布局
#Define WS_EX_LAYOUTRTL 0x400000 && 窗体或控件将具有从右向左的布局(因而会被镜像)
#Define WS_EX_NOACTIVATE 0x08000000 && 处于顶层但不激活
* WS_EX_COMPOSITED && (WinXP以上)
*--
*-- ??? to CreateWindowEx
*--
#Define CW_USEDEFAULT 0x80000000
*--
*-- TOOLINFO
*--
#Define TTS_ALWAYSTIP 0x01 && 即使窗口没有获得焦点,也显示提示
#Define TTS_NOPREFIX 0x02
#Define TTS_NOANIMATE 0x10
#Define TTS_NOFADE 0x20
#Define TTS_BALLOON 0x40 && 汽球提示,反之矩形
#Define TTS_CLOSE 0x80
#Define TTS_USEVISUALSTYLE 0x0100 && VISTA
#Define TTI_NONE 0x00 && 无图标
#Define TTI_INFO 0x01 && 信息
#Define TTI_WARNING 0x02 && 警告
#Define TTI_ERROR 0x03 && 错误
#Define TTDT_AUTOMATIC 0x00
#Define TTDT_RESHOW 0x01
#Define TTDT_AUTOPOP 0x02
#Define TTDT_INITIAL 0x03
#Define TTF_IDISHWND 0x01
#Define TTF_CENTERTIP 0x02 && 工具提示总显示在焦点域总的中下方
#Define TTF_RTLREADING 0x04 && 文本以从右至左的顺序显示(仅对阿拉伯或希伯来语,其他系统无效)
#Define TTF_SUBCLASS 0x10 && 工具提示控件将子类化"工具"所在窗口以便截取发送给它的的鼠标消息
#Define TTF_TRACK 0x20
#Define TTF_ABSOLUTE 0x80 && 绝对位置,就算屏幕无法显示,也不会改变显示位置
#Define TTF_TRANSPARENT 0x0100
#Define TTF_PARSELINKS 0x1000
#Define TTF_DI_SETITEM 0x8000
#Define TTF_BITMAP 0x10000 && VISTA
#Define TTM_ACTIVATE WM_USER + 01
#Define TTM_SETDELAYTIME WM_USER + 03 && 设置 Tooltip 时间
#Define TTM_ADDTOOL WM_USER + 04 && 添加 Tooltip
#Define TTM_ADDTOOLA WM_USER + 04 && (不清楚与 TTM_ADDTOOLA 有什么不同)
#Define TTM_DELTOOLA WM_USER + 05
#Define TTM_NEWTOOLRECTA WM_USER + 06
#Define TTM_RELAYEVENT WM_USER + 07
#Define TTM_GETTOOLINFOA WM_USER + 08
#Define TTM_SETTOOLINFOA WM_USER + 09
#Define TTM_HITTESTA WM_USER + 10
#Define TTM_GETTEXTA WM_USER + 11
#Define TTM_UPDATETIPTEXTA WM_USER + 12
#Define TTM_GETTOOLCOUNT WM_USER + 13
#Define TTM_ENUMTOOLSA WM_USER + 14
#Define TTM_GETCURRENTTOOLA WM_USER + 15
#Define TTM_WINDOWFROMPOINT WM_USER + 16
#Define TTM_TRACKACTIVATE WM_USER + 17
#Define TTM_TRACKPOSITION WM_USER + 18
#Define TTM_SETTIPBKCOLOR WM_USER + 19 && 设置背景颜色
#Define TTM_SETTIPTEXTCOLOR WM_USER + 20 && 设置文本颜色
#Define TTM_GETDELAYTIME WM_USER + 21
#Define TTM_GETTIPBKCOLOR WM_USER + 22
#Define TTM_GETTIPTEXTCOLOR WM_USER + 23
#Define TTM_SETMAXTIPWIDTH WM_USER + 24 && 设置最大宽度
#Define TTM_GETMAXTIPWIDTH WM_USER + 25
#Define TTM_SETMARGIN WM_USER + 26
#Define TTM_GETMARGIN WM_USER + 27
#Define TTM_POP WM_USER + 28
#Define TTM_UPDATE WM_USER + 29
#Define TTM_GETBUBBLESIZE WM_USER + 30
#Define TTM_ADJUSTRECT WM_USER + 31
#Define TTM_SETTITLEA WM_USER + 32 && 设置标题
#Define TTM_SETTITLEW WM_USER + 33
#Define TTM_POPUP WM_USER + 34
#Define TTM_ADDTOOLW WM_USER + 50
#Define TTM_DELTOOLW WM_USER + 51
#Define TTM_NEWTOOLRECTW WM_USER + 52
#Define TTM_GETTOOLINFOW WM_USER + 53
#Define TTM_SETTOOLINFOW WM_USER + 54
#Define TTM_HITTESTW WM_USER + 55
#Define TTM_GETTEXTW WM_USER + 56
#Define TTM_UPDATETIPTEXTW WM_USER + 57
#Define TTM_ENUMTOOLSW WM_USER + 58
#Define TTM_GETCURRENTTOOLW WM_USER + 59
* #Define TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME
#Define LPSTR_TEXTCALLBACKA -1
#Define LPSTR_TEXTCALLBACKW -1
#Define TTN_FIRST -520
#Define TTN_LAST -549
#Define TTN_GETDISPINFOA TTN_FIRST - 0
#Define TTN_GETDISPINFOW TTN_FIRST - 10
#Define TTN_LINKCLICK TTN_FIRST - 3
* #Define TTN_NEEDTEXT TTN_GETDISPINFO
#Define TTN_NEEDTEXTA TTN_GETDISPINFOA
#Define TTN_NEEDTEXTW TTN_GETDISPINFOW
#Define TTN_POP TTN_FIRST - 2
#Define TTN_SHOW TTN_FIRST - 1
*--
*--
*--
#Define LVS_ICON 0 && 大图标
#Define LVS_REPORT 0x01 && 详细资料
#Define LVS_SMALLICON 0x02 && 小图标
#Define LVS_LIST 0x03 && 列表
#Define LVS_SINGLESEL 0x04 && 只能单选
#Define LVS_SHOWSELALWAYS 0x08 && 始终显示所选中项(包括失去焦点时)
#Define LVS_SORTASCENDING 0x10 && 按升序排序
#Define LVS_SORTDESCENDING 0x20 && 按降序排序
#Define LVS_SHAREIMAGELISTS 0x40 && 共享图像列表(当控件销毁时图像列表仍可用)
#Define LVS_NOLABELWRAP 0x80 && 文字不换行
#Define LVS_AUTOARRANGE 0x0100 && 自动排列
#Define LVS_EDITLABELS 0x0200 && 允许编辑标签(类似资源管理器的文件更名)
#Define LVS_OWNERDATA 0x1000 && 指定一个虚拟的ListView, 由用户自己管理Item数据
#Define LVS_NOSCROLL 0x2000 && 禁止滚动条(对LVS_LIST和LVS_REPORT样式不适用)
#Define LVS_ALIGNTOP 0 && 顶端对齐
#Define LVS_ALIGNLEFT 0x0800 && 左对齐
#Define LVS_OWNERDRAWFIXED 0x0400 && 允许自画(仅详细资料模式)
#Define LVS_NOCOLUMNHEADER 0x4000 && 详细资料模式时不显示列头
#Define LVS_NOSORTHEADER 0x8000 && 列头显示为平面,不响应鼠标点击(详细资料模式)
*
#Define LVS_EX_GRIDLINES 0x01 && 显示表格线(仅详细资料模式)
#Define LVS_EX_SUBITEMIMAGES 0x02 && 允许子项目显示图像(仅详细资料模式)
#Define LVS_EX_CHECKBOXES 0x04 && 在各项目前面显示复选框
#Define LVS_EX_TRACKSELECT 0x08 && 允许热点选择
#Define LVS_EX_HEADERDRAGDROP 0x10 && 允许通过拖放列头来重新安排各列(详细资料模式)
#Define LVS_EX_FULLROWSELECT 0x20 && 允许选择整行(仅详细资料模式)
#Define LVS_EX_ONECLICKACTIVATE 0x40 && 单击项目激活
#Define LVS_EX_TWOCLICKACTIVATE 0x80 && 双击项目激活
#Define LVS_EX_FLATSB 0x0100 && 平面滚动条
#Define LVS_EX_REGIONAL 0x0200 && 项目范围只包括图标不透明区域和文字区域(大图标模式)
#Define LVS_EX_INFOTIP 0x0400 && 将提示信息窗口的消息通知父窗口
#Define LVS_EX_UNDERLINEHOT 0x0800 && 带热点的项目文字带下划线
#Define LVS_EX_UNDERLINECOLD 0x1000 && 非热点的项目文字带下划线
#Define LVS_EX_MULTIWORKAREAS 0x2000 && 多个工作区(需在没有添加项目前设置)
#Define LVS_EX_LABELTIP 0x4000 && 如果没有提示信息文本就展开隐藏的标签
#Define LVS_EX_BORDERSELECT 0x8000 && 用选择边框的样式代替高亮
#Define LVS_EX_DOUBLEBUFFER 0x010000 && 双缓冲(WinXP以上)
#Define LVS_EX_HIDELABELS 0x020000 && 隐藏标签(WinXP以上)
#Define LVS_EX_SINGLEROW 0x040000 && 显示单行(WinXP以上)
#Define LVS_EX_SNAPTOGRID 0x080000 && 图标自动对齐到表格(WinXP以上)
* LVS_EX_SIMPLESELECT && (WinXP以上)
*--
*-- idTimer to SetTimer
*--
#Define IDT_TIMER 101
*--
*-- nIndex to SetWindowLong and GetWindowLong
*--
#Define GWL_WNDPROC -4 && 窗口过程
#Define GWL_HINSTANCE -6
#Define GWL_HWNDPARENT -8
#Define GWL_ID -12
#Define GWL_STYLE -16 && 窗口的样式
#Define GWL_EXSTYLE -20 && 窗口扩展样式
#Define GWL_USERDATA -21
* The following values are also available when the hwnd parameter identifies a dialog box:
#Define DWL_MSGRESULT 0
#Define DWL_DLGPROC 4
#Define DWL_USER 8
*--
*-- fuLoad to LoadImage
*--
#Define LR_DEFAULTCOLOR 0x00 && 以常规方式载入图象
#Define LR_MONOCHROME 0x01 && 将图象转换成单色
#Define LR_COLOR 0x02
#Define LR_COPYRETURNORG 0x04
#Define LR_COPYDELETEORG 0x08
#Define LR_LOADFROMFILE 0x10 && 如果你要从外部文件中调入图象
#Define LR_LOADTRANSPARENT 0x20 && 与图象中第一个像素相符的所有像素都由系统替换
#Define LR_DEFAULTSIZE 0x40 && 如果 n1 和 n2 为零,就使用由系统定义的图象默认大小
#Define LR_VGACOLOR 0x80 && 使用 VGA 真彩色
#Define LR_LOADMAP3DCOLORS 0x1000 && 将图象中的深灰、灰、以及浅灰像素都替换成COLOR_3DSHADOW,COLOR_3DFACE,COLOR_3DLIGHT的当前设置
#Define LR_CREATEDIBSECTION 0x2000 && 如果uType是IMAGE_BITMAP函数返回一个不依赖于显示设备的位图
#Define LR_COPYFROMRESOURCE 0x4000
#Define LR_SHARED 0x8000 && 将图象作为一个共享资源载入。在NT 4.0中装载固有资源时要用到这个设置
* LR_LOADREALSIZE && n1和n2的设置
*--
*-- uType to LoadImage
*--
#Define IMAGE_BITMAP 0
#Define IMAGE_ICON 1
#Define IMAGE_CURSOR 2
*--
*-- DwRop to BitBlt and StretchBlt
*--
#Define BLACKNESS 0x42
#Define DSTINVERT 0x550009
#Define MERGECOPY 0xC000CA
#Define MERGEPAINT 0xBB0226
#Define NOTSRCCOPY 0x330008
#Define NOTSRCERASE 0x1100A6
#Define PATCOPY 0xF00021
#Define PATINVERT 0x5A0049
#Define PATPAINT 0xFB0A09
#Define SRCAND 0x8800C6
#Define SRCCOPY 0xCC0020
#Define SRCERASE 0x440328
#Define SRCINVERT 0x660046
#Define SRCPAINT 0xEE0086
#Define WHITENESS 0xFF0062
*--
*-- CtlType to DRAWITEMSTRUCT
*--
#Define ODT_BUTTON 4
#Define ODT_COMBOBOX 3
#Define ODT_LISTBOX 2
#Define ODT_LISTVIEW 102
#Define ODT_MENU 1
#Define ODT_STATIC 5
#Define ODT_TAB 101
*--
*-- itemAction to DRAWITEMSTRUCT
*--
#Define ODA_DRAWENTIRE 1
#Define ODA_SELECT 2
#Define ODA_FOCUS 4
*--
*-- itemState to DRAWITEMSTRUCT
*--
#Define ODS_SELECTED 0x01 && 菜单己被选择
#Define ODS_GRAYED 0x02 && 菜单是灰色的(只用于菜单)
#Define ODS_DISABLED 0x04 && 禁用
#Define ODS_CHECKED 0x08 && 菜单己被选中
#Define ODS_FOCUS 0x10 && 表示控件需要输入焦点
#Define ODS_DEFAULT 0x20 && 当前控件处于默认状态
#Define ODS_HOTLIGHT 0x40 && 表示鼠标指针位于控件之上时控件会显示高亮颜色支持Windows 98/Me, Windows 2000/XP
#Define ODS_INACTIVE 0x80
#Define ODS_NOACCEL 0x100
#Define ODS_NOFOCUSRECT 0x200
#Define ODS_COMBOBOXEDIT 0x1000 && 在自绘组合框控件中只绘制选择区域
*--
*-- iBkMode to SetBkMode
*--
#Define TRANSPARENT 1 && 透明处理, 即不作上述填充
#Define OPAQUE 2 && 用当前的背景色填充虚线画笔、阴影刷子以及字符的空隙
#Define NEWTRANSPARENT 3 && 在有颜色的菜单上画透明文字
*--
*-- uFlags to LocalAlloc
*--
#Define LMEM_FIXED 0x00
#Define LMEM_MOVEABLE 0x02
#Define LMEM_NOCOMPACT 0x10
#Define LMEM_NODISCARD 0x20
#Define LMEM_ZEROINIT 0x40
#Define LMEM_MODIFY 0x80
#Define LMEM_DISCARDABLE 0x0F00
#Define LMEM_VALID_FLAGS 0x0F72
#Define LMEM_INVALID_HANDLE 0x8000
#Define NONZEROLHND LMEM_MOVEABLE
#Define NONZEROLPTR LMEM_FIXED
#Define LHND LMEM_MOVEABLE + LMEM_ZEROINIT
#Define LPTR LMEM_FIXED + LMEM_ZEROINIT
*--
*-- diFlags to DrawIconEx
*--
#Define DI_MASK 0x01 && 绘图时使用图标的MASK部分 (如单独使用, 可获得图标的掩模)
#Define DI_IMAGE 0x02 && 绘图时使用图标的XOR部分 (即图标没有透明区域)
#Define DI_COMPAT 0x04 && 系统采用缺省图像而不是用户定义的图像绘制图标和光标
#Define DI_DEFAULTSIZE 0x08 && 如果CXWidth和CyWidth参数被设为零采用系统指定的图标和光标的的公制宽度和高 度绘制图标和光标如果标记未被指定且cxWidth和cyWith参数设为零标函数使用资源实际大小
#Define DI_NORMAL DI_MASK + DI_IMAGE && 用常规方式绘图 (合并 DI_IMAGE 和 DI_MASK)
*--
*-- uFlags to AppendMenu
*--
#Define MF_BITMAP 0x04 && 菜单条目是一幅位图. 一旦设入菜单, 这幅位图就绝对不能删除
#Define MF_CHECKED 0x08 && 检查指定的菜单条目
#Define MF_DISABLED 0x02 && 禁止指定的菜单条目
#Define MF_ENABLED 0x00 && 允许指定的菜单条目
#Define MF_GRAYED 0x01 && 禁止指定的菜单条目, 并用浅灰色描述它
#Define MF_MENUBARBREAK 0x20 && 在弹出式菜单中, 将指定的条目放置于一个新列, 并用一条垂直线分隔不同的列
#Define MF_MENUBREAK 0x40 && 在弹出式菜单中, 将指定的条目放置于一个新列. 在顶级菜单中, 将条目放置到一个新行
#Define MF_OWNERDRAW 0x0100 && 创建一个物主绘图菜单, 由程序负责绘制菜单
#Define MF_POPUP 0x0010 && 将一个弹出式菜单置于指定的条目, 可用于创建子菜单及弹出式菜单
#Define MF_SEPARATOR 0x0800 && 在指定的条目处显示一条分隔线
#Define MF_STRING 0x00 && 在指定的条目处放置一个字串
#Define MF_UNCHECKED 0x08 && 检查指定的条目
#Define MF_BYCOMMAND 0x0000 && 由菜单的命令ID指定
#Define MF_BYPOSITION 0x0400 && 由条目在菜单中的位置决定 (零代表菜单中的第一个条目)
#Define MF_DEFAULT 0x1000
#Define MF_RIGHTJUSTIFY 0x4000
#Define MF_HELP 0x4000
#Define MF_HILITE 0x80
#Define MF_UNHILITE 0x00
#Define MF_USECHECKBITMAPS 0x0200
*** 使
*** MF_DISABLED, MF_ENABLED, and MF_GRAYED
*** MF_BITMAP, MF_STRING, and MF_OWNERDRAW
*** MF_MENUBARBREAK and MF_MENUBREAK
*** MF_CHECKED and MF_UNCHECKED
*--
*-- fMask To InsertMenuItem MENUITEMINFO
*--
#Define MIIM_STATE 0x01
#Define MIIM_ID 0x02
#Define MIIM_SUBMENU 0x04
#Define MIIM_CHECKMARKS 0x08
#Define MIIM_TYPE 0x10
#Define MIIM_DATA 0x20
#Define MIIM_STRING 0x40
#Define MIIM_BITMAP 0x80
#Define MIIM_FTYPE 0x0100
*--
*-- fType To InsertMenuItem MENUITEMINFO
*--
#Define MFT_STRING 0x00
#Define MFT_BITMAP 0x04
#Define MFT_MENUBARBREAK 0x20
#Define MFT_MENUBREAK 0x40
#Define MFT_OWNERDRAW 0x0100
#Define MFT_SEPARATOR 0x0800
*--
*-- fState to InsertMenuItem MENUITEMINFO
*--
#Define MFS_ENABLED 0x00
#Define MFS_UNCHECKED 0x00
#Define MFS_UNHILITE 0x00
#Define MFS_GRAYED 0x01
#Define MFS_DISABLED 0x02
#Define MFS_CHECKED 0x08
#Define MFS_HILITE 0x80
*--
*-- nFormat to DrawText
*--
#Define DT_TOP 0x00 && 垂直顶对齐 (仅单行时有效)
#Define DT_LEFT 0x00 && 水平左对齐
#Define DT_CENTER 0x01 && 水平居中对齐
#Define DT_RIGHT 0x02 && 水平右对齐
#Define DT_VCENTER 0x04 && 垂直居中对齐 (仅单行时有效)
#Define DT_BOTTOM 0x08 && 垂直下对齐 (仅单行时有效)
#Define DT_WORDBREAK 0x10 && 进行自动换行. 如用SetTextAlign函数设置了TA_UPDATECP标志, 这里的设置则无效.
#Define DT_SINGLELINE 0x20 && 单行
#Define DT_EXPANDTABS 0x40 && 描绘文字的时候, 对制表站进行扩展. 默认的制表站间距是8个字符. 但是, 可用DT_TABSTOP标志改变这项设定.
#Define DT_TABSTOP 0x80 && 指定新的制表站间距, 采用这个整数的高 8 位
#Define DT_NOCLIP 0x0100 && 描绘文字时不剪切到指定的矩形
#Define DT_EXTERNALLEADING 0x0200 && 计算文本行高度的时候, 使用当前字体的外部间距属性
#Define DT_CALCRECT 0x0400 && 多行绘图时矩形的底边根据需要进行延展, 以便容下所有文字; 单行绘图时, 延展矩形的右侧, 不描绘文字, 由lpRect参数指定的矩形会载入计算出来的值
#Define DT_NOPREFIX 0x0800 && 禁止 & 为访问键
#Define DT_INTERNAL 0x1000
*--
*-- uFlags to TrackPopupMenu and TrackPopupMenuEx
*--
#Define TPM_LEFTALIGN 0x00
#Define TPM_CENTERALIGN 0x04
#Define TPM_RIGHTALIGN 0x08 && Positions the pop-up menu so that its right side is aligned with the coordinate specified by the x parameter
* New flags for the "TrackPopupMenuEx" version
#Define TPM_TOPALIGN 0x00
#Define TPM_BOTTOMALIGN 0x20
#Define TPM_HORIZONTAL 0x00
#Define TPM_HORNEGANIMATION 0x0800
#Define TPM_HORPOSANIMATION 0x0400
#Define TPM_NOANIMATION 0x4000
#Define TPM_NONOTIFY 0x80
#Define TPM_RECURSE 0x01
#Define TPM_VCENTERALIGN 0x10
#Define TPM_VERNEGANIMATION 0x2000
#Define TPM_VERPOSANIMATION 0x1000
#Define TPM_VERTICAL 0x40
* Value Meaning
#Define TPM_LEFTBUTTON 0x00
#Define TPM_RIGHTBUTTON 0x02
#Define TPM_RETURNCMD 0x0100
*--
*-- nIndex to GetSysColor
*--
#Define COLOR_SCROLLBAR 0 && 滚动条
#Define COLOR_BACKGROUND 1 && Windows 桌面
#Define COLOR_ACTIVECAPTION 2 && 活动窗口的标题
#Define COLOR_INACTIVECAPTION 3 && 不活动窗口的标题
#Define COLOR_MENU 4 && 菜单
#Define COLOR_WINDOW 5 && 窗口背景
#Define COLOR_WINDOWFRAME 6 && 窗框
#Define COLOR_MENUTEXT 7 && 菜单文字
#Define COLOR_WINDOWTEXT 8 && 窗口文字
#Define COLOR_CAPTIONTEXT 9 && 窗口标题中的文字
#Define COLOR_ACTIVEBORDER 10 && 活动窗口的边框
#Define COLOR_INACTIVEBORDER 11 && 不活动窗口的边框
#Define COLOR_APPWORKSPACE 12 && MDI桌面的背景
#Define COLOR_HIGHLIGHT 13 && 选定的项背景
#Define COLOR_HIGHLIGHTTEXT 14 && 选定的项文字
#Define COLOR_BTNFACE 15 && 按钮
#Define COLOR_BTNSHADOW 16 && 按钮的3D阴影
#Define COLOR_GRAYTEXT 17 && 灰色文字; 如使用了抖动技术则为零
#Define COLOR_BTNTEXT 18 && 按钮文字
#Define COLOR_INACTIVECAPTIONTEXT 19 && 不活动窗口的文字
#Define COLOR_BTNHIGHLIGHT 20 && 按钮的3D加亮区
#Define COLOR_3DDKSHADOW 21
#Define COLOR_GRADIENTACTIVECAPTION 27
#Define COLOR_GRADIENTINACTIVECAPTION 28
#Define COLOR_MENUHILIGHT 29
#Define COLOR_MENUBAR 30
*--
*-- fuFlags to DrawState
*--
* type
#Define DST_COMPLEX 0x00 && 绘图在由 lpDrawStateProc 参数指定的回调函数期间执行, lParam 和 wParam 会传递给回调事件.
#Define DST_TEXT 0x01 && lParam代表文字的地址(可使用一个字串别名), wParam 代表字串的长度.
#Define DST_PREFIXTEXT 0x02 && 与 DST_TEXT 类似, 只是 & 字符指出为下各字符加上下划线
#Define DST_ICON 0x03 && lParam 包括图标的句柄
#Define DST_BITMAP 0x04 && lParam 包括位图的句柄
* state
#Define DSS_NORMAL 0x00 && 普通图像
#Define DSS_UNION 0x10 && 图像进行抖动处理
#Define DSS_DISABLED 0x20 && 图象具有浮雕效果
#Define DSS_MONO 0x80 && 用 hBrush 描绘图像
#Define DSS_RIGHT 0x8000 && 无任何作用
*--
*-- edge to DrawEdge
*--
#Define BDR_RAISEDOUTER 0x01 && 外层凸
#DEfine BDR_SUNKENOUTER 0x02 && 外层凹
#Define BDR_RAISEDINNER 0x04 && 内层凸
#Define BDR_SUNKENINNER 0x08 && 内层凹
#Define BDR_OUTER 0x03
#Define BDR_RAISED 0x05
#Define BDR_SUNKEN 0x0A
#Define BDR_INNER 0x0C
#Define EDGE_BUMP BitOr(BDR_RAISEDOUTER, BDR_SUNKENINNER)
#Define EDGE_ETCHED BitOr(BDR_SUNKENOUTER, BDR_RAISEDINNER)
#Define EDGE_RAISED BitOr(BDR_RAISEDOUTER, BDR_RAISEDINNER)
#Define EDGE_SUNKEN BitOr(BDR_SUNKENOUTER, BDR_SUNKENINNER)
*--
*-- grfFlags to DrawEdge
*--
#Define BF_LEFT 0x01 && 左边缘
#Define BF_TOP 0x02 && 上边缘
#Define BF_RIGHT 0x04 && 右边缘
#Define BF_BOTTOM 0x08 && 下边缘
#Define BF_DIAGONAL 0x10 && 对角线
#Define BF_MIDDLE 0x800 && 填充矩形内部
#Define BF_SOFT 0x1000 && MSDN: Soft buttons instead of tiles.
#Define BF_ADJUST 0x2000 && 调整矩形, 预留客户区
#Define BF_FLAT 0x4000 && 平面边缘
#Define BF_MONO 0x8000 && 一维边缘
#Define BF_TOPLEFT BitOr(BF_TOP, BF_LEFT)
#Define BF_TOPRIGHT BitOr(BF_TOP, BF_RIGHT)
#Define BF_BOTTOMLEFT BitOr(BF_BOTTOM, BF_LEFT)
#Define BF_BOTTOMRIGHT BitOr(BF_BOTTOM, BF_RIGHT)
#Define BF_RECT BitOr(BF_LEFT, BitOr(BF_TOP, BitOr(BF_RIGHT, BF_BOTTOM)))
#Define BF_DIAGONAL_ENDTOPRIGHT BitOr(BF_DIAGONAL, BitOr(BF_TOP, BF_RIGHT))
#Define BF_DIAGONAL_ENDTOPLEFT BitOr(BF_DIAGONAL, BitOr(BF_TOP, BF_LEFT))
#Define BF_DIAGONAL_ENDBOTTOMLEFT BitOr(BF_DIAGONAL, BitOr(BF_BOTTOM, BF_LEFT))
#Define BF_DIAGONAL_ENDBOTTOMRIGHT BitOr((BF_DIAGONAL, BitOr(BF_BOTTOM, BF_RIGHT))
*--
*-- fnPenStyle to CreatePen
*--
#Define PS_SOLID 0 && 实线 _______
#Define PS_DASH 1 && 虚线 (nWidth必须是1) -------
#Define PS_DOT 2 && 点线 (nWidth必须是1) .......
#Define PS_DASHDOT 3 && 点划线 (nWidth必须是1) _._._._
#Define PS_DASHDOTDOT 4 && 点-点-划线 (nWidth必须是1) _.._.._
#Define PS_NULL 5 && 隐形
#Define PS_INSIDEFRAME 6 && 包围矩形(nWidth必须是1)
*--
*-- nIndex to GetSystemMetrics
*--
#Define SM_CXSCREEN 0 && 屏幕宽度
#Define SM_CYSCREEN 1 && 屏幕高度
#Define SM_CXVSCROLL 2 && 垂直滚动条中的箭头按钮的大小
#Define SM_CYHSCROLL 3 && 水平滚动条上的箭头大小
#Define SM_CYCAPTION 4 && 窗口标题的高度
#Define SM_CXBORDER 5 && 尺寸不可变边框的宽度
#Define SM_CYBORDER 6 && 尺寸不可变边框的高度
#Define SM_CXDLGFRAME 7 && 对话框边框的宽度
#Define SM_CYDLGFRAME 8 && 对话框边框的高度
#Define SM_CYVTHUMB 9 && 垂直滚动条上滚动块的高度
#Define SM_CXHTHUMB 10 && 水平滚动条上滚动块的大小
#Define SM_CXICON 11 && 标准图标的宽度
#Define SM_CYICON 12 && 标准图标的高度
#Define SM_CXCURSOR 13 && 标准鼠标指针宽度
#Define SM_CYCURSOR 14 && 标准鼠标指针高度
#Define SM_CYMENU 15 && 菜单高度
#Define SM_CXFULLSCREEN 16 && 最大化窗口客户区的宽度
#Define SM_CYFULLSCREEN 17 && 最大化窗口客户区的高度
#Define SM_CYKANJIWINDOW 18 && Kanji窗口的大小Height Of Kanji window
#Define SM_MOUSEPRESENT 19 && 是否安装了鼠标
#Define SM_CYVSCROLL 20 && 垂直滚动条中的箭头按钮的大小
#Define SM_CXHSCROLL 21 && 水平滚动条中的箭头按钮的大小
#Define SM_DEBUG 22 && 如 windows 的调试版正在运行,则为 .T.
#Define SM_SWAPBUTTON 23 && 是否交换了鼠标左右键
#Define SM_RESERVED1 24
#Define SM_RESERVED2 25
#Define SM_RESERVED3 26
#Define SM_RESERVED4 27
#Define SM_CXMIN 28 && 窗口最小宽度
#Define SM_CYMIN 29 && 窗口最小高度
#Define SM_CXSIZE 30 && 标题栏位图的宽度
#Define SM_CYSIZE 31 && 标题栏位图的高度
#Define SM_CXFRAME 32 && 尺寸可变边框的宽度
#Define SM_CYFRAME 33 && 尺寸可变边框的高度
#Define SM_CXMINTRACK 34 && 窗口的最小轨迹宽度
#Define SM_CYMINTRACK 35 && 窗口的最小轨迹高度
#Define SM_CXDOUBLECLK 36 && 双击区域的 X 位移
#Define SM_CYDOUBLECLK 37 && 双击区域的 Y 位移
#Define SM_CXICONSPACING 38 && 桌面图标之间的间隔宽度
#Define SM_CYICONSPACING 39 && 桌面图标之间的间隔高度
#Define SM_MENUDROPALIGNMENT 40 && 如弹出式菜单对齐菜单栏项目的左侧,则为 0
#Define SM_PENWINDOWS 41 && 如装载了支持笔窗口的DLL则表示笔窗口的句柄
#Define SM_DBCSENABLED 42 && 是否支持双字节
#Define SM_CMOUSEBUTTONS 43
#Define SM_CMETRICS 44
#Define SM_CXEDGE 45
#Define SM_CYEDGE 46
#Define SM_CXMINSPACING 47
#Define SM_CYMINSPACING 48
#Define SM_CXSMICON 49 && 小图标宽度?
#Define SM_CYSMICON 50 && 小图标高度?
#Define SM_CYSMCAPTION 51
#Define SM_CXSMSIZE 52 && 小标题按钮的宽度
#Define SM_CYSMSIZE 53 && 小标题按钮的高度
#Define SM_CXMENUSIZE 54
#Define SM_CYMENUSIZE 55
#Define SM_ARRANGE 56 && windows 如何排列最小化窗口的一个标志。参考api32.txt中的 ARW 常数
#Define SM_CXMINIMIZED 57
#Define SM_CYMINIMIZED 58
#Define SM_CXMAXTRACK 59
#Define SM_CYMAXTRACK 60
#Define SM_CXMAXIMIZED 61
#Define SM_CYMAXIMIZED 62
#Define SM_NETWORK 63
* #Define
* #Define
* #Define
#Define SM_CLEANBOOT 67 && 启动方式: 0 正常启动 1 安全模式启动 2 网络安全模式启动
#Define SM_CXDRAG 68 && 拖动时 X 轴偏移
#Define SM_CYDRAG 69 && 拖动时 Y 轴偏移
#Define SM_SHOWSOUNDS 70
#Define SM_CXMENUCHECK 71 && 以像素为单位计算的菜单选中标记位图的 X 尺寸
#Define SM_CYMENUCHECK 72 && 以像素为单位计算的菜单选中标记位图的 Y 尺寸
#Define SM_SLOWMACHINE 73
#Define SM_MIDEASTENABLED 74
#Define SM_MOUSEWHEELPRESENT 75
#Define SM_XVIRTUALSCREEN 76
#Define SM_YVIRTUALSCREEN 77
#Define SM_CXVIRTUALSCREEN 78
#Define SM_CYVIRTUALSCREEN 79
#Define SM_CMONITORS 80
#Define SM_SAMEDISPLAYFORMAT 81
#Define SM_IMMENABLED 82
#Define SM_REMOTESESSION 0x1000
#Define SM_CXSIZEFRAME SM_CXFRAME
#Define SM_CYSIZEFRAME SM_CYFRAME
#Define SM_CXFIXEDFRAME SM_CXDLGFRAME
#Define SM_CYFIXEDFRAME SM_CYDLGFRAME
#Define SM_GETCURFOCUSA WM_USER + 1003
#Define SM_GETCURFOCUSW WM_USER + 1004
#Define SM_GETOPTIONS WM_USER + 1005
#Define SM_GETSELCOUNT WM_USER + 1000
#Define SM_GETSERVERSELA WM_USER + 1001
#Define SM_GETSERVERSELW WM_USER + 1002
* SM_SECURE
* SM_SHOWSOUNDS
* SM_SLOWMACHINE
*--
*-- uiAction to SystemParametersInfo
*--
#Define SPI_GETBEEP 1
#Define SPI_SETBEEP 2
#Define SPI_GETMOUSE 3
#Define SPI_SETMOUSE 4
#Define SPI_GETBORDER 5
#Define SPI_SETBORDER 6
#Define SPI_GETKEYBOARDSPEED 10
#Define SPI_SETKEYBOARDSPEED 11
#Define SPI_LANGDRIVER 12
#Define SPI_ICONHORIZONTALSPACING 13
#Define SPI_GETSCREENSAVETIMEOUT 14
#Define SPI_SETSCREENSAVETIMEOUT 15
#Define SPI_GETSCREENSAVEACTIVE 16
#Define SPI_SETSCREENSAVEACTIVE 17
#Define SPI_GETGRIDGRANULARITY 18
#Define SPI_SETGRIDGRANULARITY 19
#Define SPI_SETDESKWALLPAPER 20
#Define SPI_SETDESKPATTERN 21
#Define SPI_GETKEYBOARDDELAY 22
#Define SPI_SETKEYBOARDDELAY 23
#Define SPI_ICONVERTICALSPACING 24
#Define SPI_GETICONTITLEWRAP 25
#Define SPI_SETICONTITLEWRAP 26
#Define SPI_GETMENUDROPALIGNMENT 27
#Define SPI_SETMENUDROPALIGNMENT 28
#Define SPI_SETDOUBLECLKWIDTH 29
#Define SPI_SETDOUBLECLKHEIGHT 30
#Define SPI_GETICONTITLELOGFONT 31
#Define SPI_SETDOUBLECLICKTIME 32
#Define SPI_SETMOUSEBUTTONSWAP 33
#Define SPI_SETICONTITLELOGFONT 34
#Define SPI_GETFASTTASKSWITCH 5
#Define SPI_SETFASTTASKSWITCH 36
#Define SPI_SETDRAGFULLWINDOWS 37
#Define SPI_GETDRAGFULLWINDOWS 38
#Define SPI_GETNONCLIENTMETRICS 41
#Define SPI_SETNONCLIENTMETRICS 42
#Define SPI_GETMINIMIZEDMETRICS 43
#Define SPI_SETMINIMIZEDMETRICS 44
#Define SPI_GETICONMETRICS 45
#Define SPI_SETICONMETRICS 46
#Define SPI_SETWORKAREA 47
#Define SPI_GETWORKAREA 48
#Define SPI_SETPENWINDOWS 49
#Define SPI_GETFILTERKEYS 50
#Define SPI_SETFILTERKEYS 51
#Define SPI_GETTOGGLEKEYS 52
#Define SPI_SETTOGGLEKEYS 53
#Define SPI_GETMOUSEKEYS 54
#Define SPI_SETMOUSEKEYS 55
#Define SPI_GETSHOWSOUNDS 56
#Define SPI_SETSHOWSOUNDS 57
#Define SPI_GETSTICKYKEYS 58
#Define SPI_SETSTICKYKEYS 59
#Define SPI_GETACCESSTIMEOUT 60
#Define SPI_SETACCESSTIMEOUT 61
#Define SPI_GETSERIALKEYS 62
#Define SPI_SETSERIALKEYS 63
#Define SPI_GETSOUNDSENTRY 64
#Define SPI_SETSOUNDSENTRY 65
#Define SPI_GETHIGHCONTRAST 66
#Define SPI_SETHIGHCONTRAST 67
#Define SPI_GETKEYBOARDPREF 68
#Define SPI_SETKEYBOARDPREF 69
#Define SPI_GETSCREENREADER 70
#Define SPI_SETSCREENREADER 71
#Define SPI_GETANIMATION 72
#Define SPI_SETANIMATION 73
#Define SPI_GETFONTSMOOTHING 74
#Define SPI_SETFONTSMOOTHING 75
#Define SPI_SETDRAGWIDTH 76
#Define SPI_SETDRAGHEIGHT 77
#Define SPI_SETHANDHELD 78
#Define SPI_GETLOWPOWERTIMEOUT 79
#Define SPI_GETPOWEROFFTIMEOUT 80
#Define SPI_SETLOWPOWERTIMEOUT 81
#Define SPI_SETPOWEROFFTIMEOUT 82
#Define SPI_GETLOWPOWERACTIVE 83
#Define SPI_GETPOWEROFFACTIVE 84
#Define SPI_SETLOWPOWERACTIVE 85
#Define SPI_SETPOWEROFFACTIVE 86
#Define SPI_SETCURSORS 87
#Define SPI_SETICONS 88
#Define SPI_GETDEFAULTINPUTLANG 89
#Define SPI_SETDEFAULTINPUTLANG 90
#Define SPI_SETLANGTOGGLE 91
#Define SPI_GETWINDOWSEXTENSION 92
#Define SPI_SETMOUSETRAILS 93
#Define SPI_GETMOUSETRAILS 94
#Define SPI_SCREENSAVERRUNNING 97
#Define SPI_GETMENUSHOWDELAY 106
#Define SPI_GETMENUFADE 0x1012
#Define SPI_GETDROPSHADOW 0x1024
*--
*-- fMode to SetTextAlign
*--
#Define TA_NOUPDATECP 0
#Define TA_UPDATECP 1
#Define TA_TOP 0 && The reference point will be on the top edge of the bounding rectangle.
#Define TA_LEFT 0 && The reference point will be on the left edge of the bounding rectangle.
#Define TA_RIGHT 2 && The reference point will be on the right edge of the bounding rectangle.
#Define TA_CENTER 6 && The reference point will be aligned horizontally with the center of the bounding rectangle.
#Define TA_BOTTOM 8 && The reference point will be on the bottom edge of the bounding rectangle.
#Define TA_BASELINE 24 && The reference point will be on the base line of the text.
#Define VTA_BASELINE TA_BASELINE && The reference point will be on the base line of the text.
#Define VTA_RIGHT TA_TOP
#Define VTA_LEFT TA_BOTTOM
#Define VTA_CENTER TA_CENTER && The reference point will be aligned vertically with the center of the bounding rectangle.
#Define VTA_BOTTOM TA_RIGHT
#Define VTA_TOP TA_LEFT
*** The default values are TA_LEFT, TA_TOP, and TA_NOUPDATECP.
*--
*-- nIndex to GetDeviceCaps
*--
#Define DRIVERVERSION 0 && The device driver version.
#Define TECHNOLOGY 2 && Device technology. It can be any one of the
#Define DT_PLOTTER 0 && Vector plotter
#Define DT_RASDISPLAY 1 && Raster display
#Define DT_RASPRINTER 2 && Raster printer
#Define DT_RASCAMERA 3 && Raster camera
#Define DT_CHARSTREAM 4 && Character stream
#Define DT_METAFILE 5 && Metafile
#Define DT_DISPFILE 6 && Display file
#Define HORZSIZE 4 && 物理屏幕宽度,毫米单位
#Define VERTSIZE 6 && 物理屏幕高度,毫米单位
#Define HORZRES 8 && Width, in pixels, of the screen.
#Define VERTRES 10 && Height, in raster lines, of the screen.
#Define LOGPIXELSX 88 && 每逻辑英寸对应的水平像素点数
#Define LOGPIXELSY 90 && 每逻辑英寸对应的垂直像素点数
#Define BITSPIXEL 12 && Number of adjacent color bits for each pixel.
#Define PLANES 14 && Number of color planes.
#Define NUMBRUSHES 16 && Number of device-specific brushes
#Define NUMPENS 18 && Number of device-specific pens
#Define NUMFONTS 22 && Number of device-specific fonts.
#Define NUMCOLORS 24 && Number of entries in the device's color table.
#Define ASPECTX 40 && Relative width of a device pixel used for line drawing.
#Define ASPECTY 42 && Relative height of a device pixel used for line drawing.
#Define ASPECTXY 44 && Diagonal width of the device pixel used for line drawing.
#Define PDEVICESIZE 26 && Reserved
#Define CLIPCAPS 36
#Define SIZEPALETTE 104
#Define NUMRESERVED 106
#Define COLORRES 108
#Define PHYSICALWIDTH 110 && For printing devices: the physical width, in device units.
#Define PHYSICALHEIGHT 111 && For printing devices: the physical height, in device units.
#Define PHYSICALOFFSETX 112 && For printing devices: the physical printable area horizontal margin.
#Define PHYSICALOFFSETY 113 && For printing devices: the physical printable area vertical margin.
#Define SCALINGFACTORX 114 && For printing devices: the scaling factor along the horizontal axis.
#Define SCALINGFACTORY 115 && For printing devices: the scaling factor along the vertical axis.
* VREFRESH Windows NT only
* DESKTOPHORZRES Windows NT only
* DESKTOPVERTRES Windows NT only
* BLTALIGNMENT Windows NT only
#Define RASTERCAPS 38 && Value that indicates the raster capabilities of the device, as shown in the following table
* Capability Meaning
#Define RC_BANDING 2 && Requires banding support.
#Define RC_BITBLT 1 && Capable of transferring bitmaps.
#Define RC_BITMAP64 8 && Capable of supporting bitmaps larger than 64K.
#Define RC_DI_BITMAP 0x80 && Capable of supporting the SetDIBits and GetDIBits functions.
#Define RC_DIBTODEV 0x0200 && Capable of supporting the SetDIBitsToDevice function.
#Define RC_FLOODFILL 0x1000 && Capable of performing flood fills.
#Define RC_GDI20_OUTPUT 0x10 && Capable of supporting features of Windows 2.0.
#Define RC_PALETTE 0x0100 && Specifies a palette-based device.
#Define RC_SCALING 0x04 && Capable of scaling.
#Define RC_STRETCHBLT 0x0800 && Capable of performing the StretchBlt function.
#Define RC_STRETCHDIB 0x2000 && Capable of performing the StretchDIBits function.
#Define CURVECAPS 28 && Value that indicates the curve capabilities of the device, as shown in the following table:
* Value Meaning
#Define CC_NONE 0 && Device does not support curves.
#Define CC_CIRCLES 1 && Device can draw circles.
#Define CC_PIE 2 && Device can draw pie wedges.
#Define CC_CHORD 4 && Device can draw chord arcs.
#Define CC_ELLIPSES 8 && Device can draw ellipses.
#Define CC_WIDE 16 && Device can draw wide borders.
#Define CC_STYLED 32 && Device can draw styled borders.
#Define CC_WIDESTYLED 64 && Device can draw borders that are wide and styled.
#Define CC_INTERIORS 128 && Device can draw interiors.
#Define CC_ROUNDRECT 256 && Device can draw rounded rectangles.
#Define LINECAPS 30 && Value that indicates the line capabilities of the device, as shown in the following table:
* Value Meaning
#Define LC_NONE 0 && Device does not support lines.
#Define LC_POLYLINE 2 && Device can draw a polyline.
#Define LC_MARKER 4 && Device can draw a marker.
#Define LC_POLYMARKER 8 && Device can draw multiple markers.
#Define LC_WIDE 16 && Device can draw wide lines.
#Define LC_STYLED 32 && Device can draw styled lines.
#Define LC_WIDESTYLED 64 && Device can draw lines that are wide and styled.
#Define LC_INTERIORS 128 && Device can draw interiors.
#Define POLYGONALCAPS 32 && Value that indicates the polygon capabilities of the device, as shown in the following table:
* Value Meaning
#Define PC_NONE 0 && Device does not support polygons.
#Define PC_POLYGON 1 && Device can draw alternate-fill polygons.
#Define PC_RECTANGLE 2 && Device can draw rectangles.
#Define PC_WINDPOLYGON 4 && Device can draw winding-fill polygons.
#Define PC_SCANLINE 8 && Device can draw a single scanline.
#Define PC_WIDE 16 && Device can draw wide borders.
#Define PC_STYLED 32 && Device can draw styled borders.
#Define PC_WIDESTYLED 64 && Device can draw borders that are wide and styled.
#Define PC_INTERIORS 128 && Device can draw interiors.
#Define TEXTCAPS 34 && Value that indicates the text capabilities of the device, as shown in the following table:
* Bit Meaning
#Define TC_OP_CHARACTER 0x01 && Device is capable of character output precision.
#Define TC_OP_STROKE 0x02 && Device is capable of stroke output precision.
#Define TC_CP_STROKE 0x04 && Device is capable of stroke clip precision.
#Define TC_CR_90 0x08 && Device is capable of 90-degree character rotation.
#Define TC_CR_ANY 0x10 && Device is capable of any character rotation.
#Define TC_SF_X_YINDEP 0x20 && Device can scale independently in the x- and y-directions.
#Define TC_SA_DOUBLE 0x40 && Device is capable of doubled character for scaling.
#Define TC_SA_INTEGER 0x80 && Device uses integer multiples only for character scaling.
#Define TC_SA_CONTIN 0x0100 && Device uses any multiples for exact character scaling.
#Define TC_EA_DOUBLE 0x0200 && Device can draw double-weight characters.
#Define TC_IA_ABLE 0x0400 && Device can italicize.
#Define TC_UA_ABLE 0x0800 && Device can underline.
#Define TC_SO_ABLE 0x1000 && Device can draw strikeouts.
#Define TC_RA_ABLE 0x2000 && Device can draw raster fonts.
#Define TC_VA_ABLE 0x4000 && Device can draw vector fonts.
#Define TC_RESERVED 0x8000 && Reserved; must be zero.
#Define TC_SCROLLBLT 0x010000
*--
*-- fnWeight to CreateFont
*--
#Define FW_DONTCARE 0
#Define FW_THIN 100
#Define FW_EXTRALIGHT 200
#Define FW_LIGHT 300
#Define FW_NORMAL 400
#Define FW_MEDIUM 500
#Define FW_SEMIBOLD 600
#Define FW_BOLD 700
#Define FW_EXTRABOLD 800
#Define FW_HEAVY 900
*--
*-- fdwQuality to CreateFont
*--
#Define DEFAULT_QUALITY 0
#Define DRAFT_QUALITY 1
#Define PROOF_QUALITY 2
*--
*-- fdwCharSet to CreateFont
*--
#Define ANSI_CHARSET 0
#Define DEFAULT_CHARSET 1
#Define SYMBOL_CHARSET 2
#Define SHIFTJIS_CHARSET 128
#Define HANGEUL_CHARSET 129
#Define CHINESEBIG5_CHARSET 136
#Define OEM_CHARSET 255
#Define JOHAB_CHARSET 130
#Define HEBREW_CHARSET 177
#Define ARABIC_CHARSET 178
#Define GREEK_CHARSET 161
#Define TURKISH_CHARSET 162
#Define THAI_CHARSET 222
#Define EASTEUROPE_CHARSET 238
#Define RUSSIAN_CHARSET 204
#Define MAC_CHARSET 77
#Define BALTIC_CHARSET 186
*--
*-- fdwOutputPrecision to CreateFont
*--
#Define OUT_DEFAULT_PRECIS 0
#Define OUT_STRING_PRECIS 1
#Define OUT_CHARACTER_PRECIS 2
#Define OUT_STROKE_PRECIS 3
#Define OUT_TT_PRECIS 4
#Define OUT_DEVICE_PRECIS 5
#Define OUT_RASTER_PRECIS 6
#Define OUT_TT_ONLY_PRECIS 7
#Define OUT_OUTLINE_PRECIS 8
*--
*-- fdwClipPrecision to CreateFont
*--
#Define CLIP_DEFAULT_PRECIS 0
#Define CLIP_CHARACTER_PRECIS 1
#Define CLIP_STROKE_PRECIS 2
#Define CLIP_MASK 15
#Define CLIP_LH_ANGLES 16
#Define CLIP_TT_ALWAYS 32
#Define CLIP_EMBEDDED 128
*--
*-- fdwPitchAndFamily to CreateFont
*--
#Define DEFAULT_PITCH 0
#Define FIXED_PITCH 1
#Define VARIABLE_PITCH 2