Visual Studio 2005、C++、Windows XP。
我有一个带有单个按钮的 CDialog,它调用如下函数:
BEGIN_MESSAGE_MAP(Foo, BaseDlg) //BaseDlg继承自CDialog ON_BN_CLICKED(IDBAR,酒吧) END_MESSAGE_MAP()
单击“X”时对话框关闭。
我将上面的代码更改为:
BEGIN_MESSAGE_MAP(Foo, BaseDlg) //BaseDlg继承自CDialog ON_BN_CLICKED(IDBAR,酒吧) ON_BN_CLICKED(IDBAZ,巴兹) END_MESSAGE_MAP()
我的对话窗口将不再关闭。每当单击 X 时,都会调用 Baz()。由于某种原因,第二个 ON_BN_CLICKED() 处理程序正在替换正常的对话框关闭行为。
如何关闭具有两个或更多按钮映射到功能的对话框?