在我的应用程序中,有很多对话框一直在打开和关闭。对话框是非模态的。
为了节省一些性能,我们正在“回收”一些更复杂的控件。关闭一个对话框时,控件不会被销毁,但是它们的指针存储在一个数组中,以便在打开另一个对话框时可以重复使用它们。
问题是控件在新对话框中定位后,它不会收到所有消息。例如,消息WM_DRAWITEM
(控件来自CListCtrl
)不再被发送。另一方面,WM_LBUTTONDOWN
仍在到达。好像控件不再知道它的类了。 NC区域(边框和列表标题)正在正确绘制
有没有人有类似的问题?可能有什么不对?这些控件可以以这种方式“分离”和“重新连接”吗?
答案 0 :(得分:0)
要使CListCtrl响应WM_DRAWITEM图像,需要它具有LVS_OWNERDRAWFIXED样式。你确定已经确定了吗?
来自http://msdn.microsoft.com/en-us/library/windows/desktop/bb774739(v=vs.85).aspx,似乎只有在报告视图中才会出现(对我来说似乎很奇怪!)。