我有一个MFC对话框和一个ActiveX网格控件。每当用户尝试编辑日期类型网格单元格时,我就会创建一个CDateTimeCtrl并显示在网格内部。此控件是作为网格控件的子项创建的,但它是对话框类中的变量。
现在,我想在对话框的类中处理此日期控件的DTN_DATETIMECHANGE消息。我可以在Spy ++中看到,这些消息被发送到网格控件,但我们如何在祖父(对话)类中处理它?</ p>
答案 0 :(得分:0)
您是否尝试过将其创建为兄弟姐妹,但是在Z顺序中更高?您可能需要将WS_CLIPSIBLINGS添加到父对话框的样式,以避免网格描绘日期控件的问题。
另一种技术是使用充当转发器的中间子系统,因此网格包含包含日期控制的转发器。这样你的代码仍会收到通知;并且您仍然可以获得适当的HWND遏制效果。 (转发器通常没有边框,只调整其唯一的子节点以占用其整个客户区域,因此对最终用户不可见。)