求助 MFC按钮 如何做一个按钮 只关闭当前窗口 而不关闭主窗口

时间:2021-11-30 14:39:15
小弟在做毕设,现在主程序运行后是一个对话框,点一个按钮会弹出一个新的对话框A,现在A上有个按钮ok,但是点击后连同主对话框都消失了,如何才能只关闭A而不影响主窗口?先谢谢了~~

7 个解决方案

#1


以下我都试过都不行有的没反应有的出错
CDialog::OnOK();  全部都关了
DestoryWindow();没反应
EndDialog();  出错

#2



void CQqDlg::OnButton1() 
{

CSecondDlg dlg;//要调用的对话框
dlg.DoModal();
   //这里不能有CDialog::OnOK();  
}

#3


OnCancle();

#4


void CXXXDlg::OnButton1() 
{

    CNEWSDlg dlg;//要调用的对话框
    dlg.DoModal();
}

在按钮A 的响应函数里
CDialog::OnOK(); 

不知道楼主怎么写的,代码贴来看看,

#5


代码贴来看

#6


你是不是在主对话框放了个
CDialog::OnOK(); 

#7


小弟发过一次可是大家的回答不是很好,有点像没有看懂我说的意思,重发下, 
MFC做的东西 
主窗口(1)上有个按钮A, 
点按钮A会弹出一个新窗口(2) 
现在想在新窗口(2)上做个按钮B,要求是点按钮B后,只关闭(2),保留(1) 
之前试过ok,EndDialog,destorywindow 都没有达到要求; 
关闭窗口(2) 很容易,关键是要保留下(1); 
窗口(1)中部分代码: 
void CGUIDlg::OnOK() 
{ SetEvent(eventQuitStub); 
CDialog::OnOK(); 


void CGUIDlg::OnExit() 
{ SetEvent(eventQuitStub); 


void CGUIDlg::OnButtonA() 
{    Clist list; 
    list.DoModal(); 

窗口(2): 

void Clist::OnOK() 
{        CDialog::OnOK(); 



void Clist::OnButtonB() 
{        

#1


以下我都试过都不行有的没反应有的出错
CDialog::OnOK();  全部都关了
DestoryWindow();没反应
EndDialog();  出错

#2



void CQqDlg::OnButton1() 
{

CSecondDlg dlg;//要调用的对话框
dlg.DoModal();
   //这里不能有CDialog::OnOK();  
}

#3


OnCancle();

#4


void CXXXDlg::OnButton1() 
{

    CNEWSDlg dlg;//要调用的对话框
    dlg.DoModal();
}

在按钮A 的响应函数里
CDialog::OnOK(); 

不知道楼主怎么写的,代码贴来看看,

#5


代码贴来看

#6


你是不是在主对话框放了个
CDialog::OnOK(); 

#7


小弟发过一次可是大家的回答不是很好,有点像没有看懂我说的意思,重发下, 
MFC做的东西 
主窗口(1)上有个按钮A, 
点按钮A会弹出一个新窗口(2) 
现在想在新窗口(2)上做个按钮B,要求是点按钮B后,只关闭(2),保留(1) 
之前试过ok,EndDialog,destorywindow 都没有达到要求; 
关闭窗口(2) 很容易,关键是要保留下(1); 
窗口(1)中部分代码: 
void CGUIDlg::OnOK() 
{ SetEvent(eventQuitStub); 
CDialog::OnOK(); 


void CGUIDlg::OnExit() 
{ SetEvent(eventQuitStub); 


void CGUIDlg::OnButtonA() 
{    Clist list; 
    list.DoModal(); 

窗口(2): 

void Clist::OnOK() 
{        CDialog::OnOK(); 



void Clist::OnButtonB() 
{