c++ - 处理孙子控件的 WM_NOTIFY

标签 c++ winapi mfc

我有一个 MFC 对话框和一个 ActiveX 网格控件。每当用户尝试编辑日期类型的网格单元格时,我都会创建一个 CDateTimeCtrl 并显示在网格内。此控件是作为网格控件的子控件创建的,但它是对话框类中的一个变量。

现在,我想在我的对话框类中处理这个日期控件的 DTN_DATETIMECHANGE 消息。我可以在 Spy++ 中看到,这些消息被发送到网格控件,但是我们如何在祖 parent 的(对话框)类中处理这个?

最佳答案

您是否尝试过将它创建为 sibling ,但只是在 Z 顺序中更高?您可能需要将 WS_CLIPSIBLINGS 添加到父对话框的样式,以避免网格在日期控件上绘制的问题。

另一种技术是使用充当转发器的中间子级,因此网格包含转发器,转发器包含日期控制。这样您的代码仍然会收到通知;并且您仍然可以获得适当的 HWND 遏制效果。 (转发器通常没有边框,只是调整其唯一子节点的大小以占据其整个客户区域,因此对最终用户不可见。)

关于c++ - 处理孙子控件的 WM_NOTIFY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164756/

相关文章:

c++ - QSettings 简单任务不起作用

c++ - "int& foo()"在 C++ 中是什么意思?

c - 如何在运行时写入可移植可执行文件(PE)?

c - 相对于父窗口放置窗口

c++ - Listview 中的第一次机会异常设置检查状态

c++ - stringstream object() 和 object 有什么区别?

c++ - 使用 VC 编译器在 Eclipse 中创建可执行文件

c++ - C数据库线程安全

c++ - 如何优化绘图例程以在 Windows CE 中实现最大刷新率?

c++ - mfc sdi 应用程序 cdocument dosave 错误 0xFEEEFEEE