- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在写一个 CFrameWnd 包装器,头文件中有这一行:
#define WM_CFW_MESSAGE (WM_APP + 100)
这是一个好的做法吗?是否要求此包装器的用户必须记住不要使用此特定数字 (WM_APP + 100)?
最佳答案
不,这不是一个好的做法。 WM_USER
范围更合适。 WM_APP
范围用于必须由单个程序中的多个窗口类理解的消息。 WM_USER
范围适用于针对单个窗口类的消息。
因此,您可以安全地使用 WM_USER
范围内的值。您可以编写 #define WM_CFW_MESSAGE (WM_USER+0)
因为您知道您的窗口类没有其他 WM_USER
消息。当您向同一个窗口类添加第二个自定义消息时,您可以使用 (WM_USER+1)
等。如果您实现另一个窗口类,它可以再次从 WM_USER+0
开始。
关于c++ - 如何避免 WM_APP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4461129/
当 WM_SIZE 发送到窗口过程时,我试图发送自定义消息(WM_APP + 1)。我希望能够使用 PeekMessage 从其他函数捕获它并执行某些操作。但是当我测试它时,消息似乎没有发送到队列。添
我正在写一个 CFrameWnd 包装器,头文件中有这一行: #define WM_CFW_MESSAGE (WM_APP + 100) 这是一个好的做法吗?是否要求此包装器
我希望工作线程将用户定义的消息发送到 UI 线程消息队列,但我不确定是否应该使用 WM_USER 或 WM_APP。 WM_APP 的文档说: WM_APP through 0xBFFF Messag
目前,我有一个 Windows EXE 应用程序,其中包含几个加载的 DLL。 DLL 需要通过 PostMessage 和 SendMessage 与我的 Windows 应用程序通信。 Windo
我是一名优秀的程序员,十分优秀!