MFC - 为对话框按钮添加事件处理程序

时间:2013-05-18 15:45:45

标签: events button mfc dialog

我有一个CView类和一个对话框,一旦用户点击它的"接受"我想从对话框对象中获取一些数据。按钮,所以我在CView类中为按钮及其处理程序添加了一个事件,所有这些都是通过Visual Studio 2010菜单完成的,所以我没有搞砸代码。

CView clas:

BEGIN_MESSAGE_MAP(CSurface3DView, CView)
  ON_BN_CLICKED(ID_RANGE_OK, &CSurface3DView::OnBnClickedRangeOk)
END_MESSAGE_MAP()   
...
void CSurface3DView::OnBnClickedRangeOk()
{
 //things i need to do

}

问题是,单击“确定”按钮时,它不会调用OnBnClickedRangeOk()函数。

我也可以从Dialog类中调用CView类中的函数,但我不能为父类使用实例,因为我需要包含它的标题,这会导致循环包含,这可以解决通过在Dialog标题中声明CView类而不包括它,但是它的方法无法加入。

也许它不可能在对话框类之外放置对话框按钮的消息句柄?如果仅在按下对话框按钮时如何在CView类中运行某个功能?

编辑:

现在已经解决了,我使用了CDialog的SendMessage(hWnd,MESSAGE,...)方法向父母发送一条消息,我在CDialog的构造函数中得到了指针,所以我没有'我必须声明父母的特定类别,否则我不会遇到包含问题。

我在此处找到的具体细节:http://forums.codeguru.com/showthread.php?385590-How-to-SendMessage-from-child-window-to-parent

0 个答案:

没有答案