WM_USER常量是Windows帮助应用程序定义私有窗口类里的私有消息,通常使用WM_USER+一个整数值,但总值不能超过0x7FFF。
| #define WM_USER 0x0400 |
WM_APP常量是Windows帮助应用程序定义私有消息,通常使用WM_APP+一个整数值,但总值不能超过0xBFFF。
| #define WM_APP 0x8000 |
这两个都定义在WinUser.h中。
| 范围 | 表示 |
| 0 ~ WM_USER–1 | 操作系统保留的消息。 |
| WM_USER ~ 0x7FFF | 私有窗口类用的整数型消息。 |
| WM_APP ~ 0xBFFF | 应用程序用的消息。 |
| 0xC000 ~ 0xFFFF | 应用程序用的字符串消息。 |
| 0xFFFF ~ | 操作系统保留的消息。 |
MFC在afxres.h中预定义了一些常用的控制条
| #define AFX_IDW_TOOLBAR 0xE800 // main Toolbar for window #define AFX_IDW_STATUS_BAR 0xE801 // Status bar window #define AFX_IDW_PREVIEW_BAR 0xE802 // PrintPreview Dialog Bar #define AFX_IDW_RESIZE_BAR 0xE803 // OLE in-place resize bar #define AFX_IDW_REBAR 0xE804 // COMCTL32 "rebar" Bar #define AFX_IDW_DIALOGBAR 0xE805 // CDialogBar |
WM_USER through 0x7FFF: 仅在自己预定义的窗口内部使用;
WM_APP through 0xBFFF: 在应用程序的其他地方均可使用
但若有其他人写的代码或加载了外来的控件,如果你不遵守这一规则,发生冲突的概率会明显加大,可能会出现意想不到的结果。
本文详细解析了Windows消息机制中的WM_USER与WM_APP两个常量的区别与应用场景,包括它们的定义范围、使用建议及实际案例。
2719

被折叠的 条评论
为什么被折叠?



