Win32 ListBox WNDProc从未打电话
Win32 ListBox WNDPROC never called
我正在围绕Win32控件/对话框/Windows编写一个相当简单的包装器。
我遇到的问题是ListBox和Combobox的行为似乎有所不同。
在我继承的基本小部件类中,我覆盖了对控件的现有wndproc,然后在新的wndproc中处理消息,主要促进它们以boost ::信号事件。
问题是,虽然ComboBox的WNDProc接收CBN_SELCHANGE - 如预期的 - ListBox的WNDProc未接收LBN_SELCHANGE命令。
我意识到拥有该控件的对话框/窗口可能会收到此功能,但是我已经沿着这个兔子的洞走了,感觉就像是一个非常整洁的解决方案。我需要退回并让控件的所有者处理WM_Command消息(从那里将其推广到控件本身上的事件)。
这是一项学习练习,所以请不要提醒我有关MFC或对此的价值发表评论。
通知消息通常发送给控件的父。大概所有的窗口(即父窗口和控件都使用)都在使用相同的窗口过程?在这种情况下,通常的解决方案是:在窗口过程中的"通知处理程序"中,检查通知是否来自当前窗口。如果这样做,请举办活动;如果它没有将消息重新发送回该控件(将作为事件提出)。
相关文章:
- 预计在GMock打电话,工厂返回unique_ptr
- 模板操作员<未打电话
- c 击曲线在代表前打电话给COUT
- 我需要在SDL_DestroyWindow前打电话给SDL_GL_DeleteContext吗?
- 打电话给功能后,为什么我会陷入无限循环中
- DLL文件中函数的预期行为在C中编写并从CPP文件打电话
- 打电话时返回未知错误
- 为什么在任务后打电话给攻击函数
- 打电话给Freelibrary时可能的僵局
- 我可以打电话给<algorithm>空旷的设施吗?
- WM_DESTROY没有在包裹的WndProc内部调用
- 为什么逗号运算符在运算符[]中打电话给操作员[],而不是在Operator()内部调用
- 画一张卡,并打电话给它
- 打电话给谁是无效的关闭手(句柄)是安全的吗?
- 多个vtable,在打电话时出现错误
- COUT如何打电话给班级的私人成员
- 如何在控制台应用中注册WNDProc
- cout后打电话给scanf
- 在API中控制WNDProc功能的问题
- Win32 ListBox WNDProc从未打电话