内裤里有糖吃 发表于 2020-11-21 16:18:33

请问MFC中主Dlg按钮A如何调用子Dlg按钮B的控件函数

请问MFC中主Dlg界面按钮A如何调用子Dlg界面按钮B的控件函数?可以实现嘛?

shooan 发表于 2020-11-21 16:40:33

不懂MFC,那玩意儿应该没有什么人学了吧。
有一个通用的方法,直接把子Dlg的B按钮控件函数封装到一个类里面。这样无论在哪里都可以调用了

内裤里有糖吃 发表于 2020-11-21 17:19:12

shooan 发表于 2020-11-21 16:40
不懂MFC,那玩意儿应该没有什么人学了吧。
有一个通用的方法,直接把子Dlg的B按钮控件函数封装到一个类里 ...

控件函数不是就在Dlg类里面嘛?
我试了下在另一个Dlg界面控件函数里面调用不了
        CHighPreciDlg* ck = (CHighPreciDlg*)AfxGetApp()->GetMainWnd(); //获得主程序句柄
        ck->OnBnClickedButtonInputfile();//获得定义的

shooan 发表于 2020-11-21 17:35:02

内裤里有糖吃 发表于 2020-11-21 17:19
控件函数不是就在Dlg类里面嘛?
我试了下在另一个Dlg界面控件函数里面调用不了
        CHighPreciDlg* ck = ( ...

不好意思啊,这我就不懂了{:5_99:}

内裤里有糖吃 发表于 2020-11-22 14:53:39

有没有大神呀,求求!

xieglt 发表于 2020-11-22 19:22:25

SendMessage

xieglt 发表于 2020-11-22 20:16:59

首先,要在弹出子窗体的时候能点父窗体,子窗体必须是非模态的。
CSonDialog*m_pson;

void Init()
{
       m_pson = new CSonDialog;
       m_pson->create(IDD_DIALOG_SON,this);
       m_pson->ShowWindow(SW_SHOW);
}


void Uninit()
{
   delete m_pson;
}

调用子窗体按钮为
m_pson->SendMessage(WM_COMMAND,IDC_BUTTON_SON,0);   //IDC_BUTTON_SON 子窗体中要响应的按钮ID

内裤里有糖吃 发表于 2020-11-24 16:09:40

xieglt 发表于 2020-11-22 20:16
首先,要在弹出子窗体的时候能点父窗体,子窗体必须是非模态的。
CSonDialog*m_pson;



您这个是指在子窗口打开的时候还可以点击父窗口是吧,那如果我是想直接在子窗口的控件上调用父窗口控件的OnBnClickedButtonInputfile()函数可以也这样实现嘛?

xieglt 发表于 2020-11-24 16:12:24

内裤里有糖吃 发表于 2020-11-24 16:09
您这个是指在子窗口打开的时候还可以点击父窗口是吧,那如果我是想直接在子窗口的控件上调用父窗口控件的 ...

GetParent()->SendMessage(WM_COMMAND,IDC_BUTTON_SET,0);
页: [1]
查看完整版本: 请问MFC中主Dlg按钮A如何调用子Dlg按钮B的控件函数