我有一个对话框,在按下“确定”按钮后,程序会使用对话框中的数据并绘制图表。我需要绘制绘图而不必像 IDOK 那样关闭对话框,因此需要应用按钮。 绘制对话框的代码是,
INT_PTR val = dlg->DoModal();
if ( val == IDOK) {
//draw plot
}
onOK和onApply的代码
void DLg::OnOK() {
GetDataGrid();
CDialog::OnOK();
}
void DLg::OnBnClickedApply()
{
GetDataGrid();
}
如何在不关闭对话框的情况下让 DoModal() 在 onApply() 上返回一个值?
如有任何帮助,我们将不胜感激。
最佳答案
模态对话框不能返回一个值并保持对话框打开。您可以使对话框成为非模态对话框,或者将来自 OnBnClickedApply
函数的消息发布到主窗口,使其绘制绘图。
关于c++ - 在 CDialog 中应用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26374728/