永发信息网

MFC里面相同对话框反复出现

答案:4  悬赏:0  手机版
解决时间 2021-11-17 21:03
  • 提问者网友:战魂
  • 2021-11-17 02:13
MFC里面相同对话框反复出现
最佳答案
  • 五星知识达人网友:躲不过心动
  • 2021-11-17 02:20
void CScaleDialog::OnOK()
{ CDialog::OnOK();
pEditFileInp->GetWindowTextA(fFileInp);
pEditFileOut->GetWindowTextA(fFileOut);
return;
}

GetWindowTextA
这个有刷新窗口的效果
改成这个试试:
pEditFileInp->GetWindowTextA(fFileInp);
pEditFileOut->GetWindowTextA(fFileOut);
CDialog::OnOK();

------------------------------------------
如果问题不是出在这,请你在弹出对话框的地方设置一个断点调试一下,看一下是不是你的程序激活了它两次
全部回答
  • 1楼网友:酒醒三更
  • 2021-11-17 04:23
函数里的变量改到类里面去声明和初始化。也可以吧变量设成static。
但是变量在函数里的话,每次运行函数都会重新初始化。
  • 2楼网友:胯下狙击手
  • 2021-11-17 03:26
CDialog::OnOK();
pEditFileInp->GetWindowTextA(fFileInp);
pEditFileOut->GetWindowTextA(fFileOut);
return;

CDialog::OnOK();应该放在数据获取之后
  • 3楼网友:胯下狙击手
  • 2021-11-17 02:50
CScaleDialog dlg;
if(IDOK==dlg.DoModal()) ///
{
pEditFileInp->GetWindowTextA(fFileInp);
pEditFileOut->GetWindowTextA(fFileOut);
}
把这段代码应该放在那个菜单响应的函数里(而不要修改CScaleDialog::OnOk()函数里的代码)
并且CString fFileInp;CString fFileOut;这俩个变量应该是全局的,不能是属于这个对话框的,因为对话框销毁之后,变量也随之销毁
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯