我创建了一个 MFC cpp 对话框应用程序,该主对话框的目的之一是通过复选框控件创建和销毁多个子图形窗口。单击复选框,将发出 Create(,,,,) 消息,并弹出子图形窗口,同样取消选中该复选框,将发送
DestroyWindow()
并关闭子窗口。这一切都运行良好。
问题是:
互联网上有很多示例向您展示如何使用自定义消息。甚至一些答案,例如:
这是实现这一目标的一种方法。另一种选择是在弹出窗口关闭时在相应的事件处理程序中执行此操作:
CWnd *pMain = AfxGetMainWnd();
CWnd *pButton = pMain->GetDlgItem(ID_CHECKBOX);
pMain->PostMessage(WM_COMMAND, MAKEWPARAM(ID_CHECKBOX, BN_CLICKED), (LPARAM)pButton->m_hWnd);
您可以相应地更改
ID_CHECKBOX
的值。这样您就可以模拟切换按钮。
注意,上面的代码片段使用了
AfxGetMainWnd()
,但您可能需要使用 GetParent()
。取决于您想要哪个窗口。