vc的MFC中关于setwindowtext的一个简单问题!

2025-05-20 04:09:56
推荐回答(1个)
回答1:

要这样你必须创建一个非模态对话框,而不是模态对话框。这个过程比较麻烦,还要考虑一些细节。下面的步骤可供你参考,写得不全面(假设你的工程名为Test,对话框的ID为IDD_DIALOG1,其类名为CMyDlg,编辑框的ID为IDC_EDIT1):
1、在TestView.h的开头包含MyDlg.h,然后为其添加一个CMyDlg*类型的变量pModallessDlg,在CTestView的构造函数中将其初始化:pModallessDlg = NULL;
2、在需要弹出对话框的地方添加如下代码:
if (!pModallessDlg)
{
pModallessDlg = new CMyDlg;
pModallessDlg->Create(IDD_DIALOG1);
pModallessDlg->GetDlgItem(IDC_EDIT1)->SetWindowText("编辑框的内容");
pModallessDlg->ShowWindow(SW_SHOW);
}
else
pModallessDlg->SetActiveWindow();
这个仅仅是测试一下改变编辑框文本这个功能,没有处理对话框的消息,要处理对话框的消息必需重载它的OnOK、OnCancel等函数,并向视图类发送消息。在视图类中处理这些消息时要记得消毁对话框并delete pModallessDlg。