【发布时间】:2014-11-10 09:51:42
【问题描述】:
我正在试验 WTL,我想将一个大的消息映射分成两个或多个文件。例如,我想将托盘图标逻辑移动到一个单独的文件中。我知道CHAIN_MSG_MAP 和CHAIN_MSG_MAP_MEMBER,但是在这种情况下我应该使用什么?
另外,我如何才能从第二类访问窗口句柄?
【问题讨论】:
-
查看代码后,我不确定我尝试实现的目标是否可行。是否可以有两个文件(可能有两个类),而两个文件都有一个
m_hWnd成员,它指的是同一个窗口? -
可能的。但它仍然过于宽泛。
-
好吧,以托盘图标为例。在
WM_CREATE上,我初始化NOTIFYICONDATA,调用Shell_NotifyIcon(NIM_ADD)。在"TaskbarCreated"上,我重新创建了它。右键单击,我会显示一个菜单。等我可以将所有这些功能干净地移动到单独的文件中吗?我找到了这个类,它通过创建一个额外的窗口(不太优雅的 IMO)解决了这个任务:naughter.com/ntray.html -
我建议使用一个消息映射,但将处理程序划分为单独的文件,除非对消息映射也有特殊要求。