在父更改后控制不接收消息

时间:2013-07-23 13:57:05

标签: visual-c++ mfc windows-messages

在我的应用程序中,有很多对话框一直在打开和关闭。对话框是非模态的。 为了节省一些性能,我们正在“回收”一些更复杂的控件。关闭一个对话框时,控件不会被销毁,但是它们的指针存储在一个数组中,以便在打开另一个对话框时可以重复使用它们。 问题是控件在新对话框中定位后,它不会收到所有消息。例如,消息WM_DRAWITEM(控件来自CListCtrl)不再被发送。另一方面,WM_LBUTTONDOWN仍在到达。好像控件不再知道它的类了。 NC区域(边框和列表标题)正在正确绘制 有没有人有类似的问题?可能有什么不对?这些控件可以以这种方式“分离”和“重新连接”吗?

1 个答案:

答案 0 :(得分:0)

要使CListCtrl响应WM_DRAWITEM图像,需要它具有LVS_OWNERDRAWFIXED样式。你确定已经确定了吗?

来自http://msdn.microsoft.com/en-us/library/windows/desktop/bb774739(v=vs.85).aspx,似乎只有在报告视图中才会出现(对我来说似乎很奇怪!)。