15,977
社区成员
发帖
与我相关
我的任务
分享
,现在的问题是比如现在是两项,我点击后弹出两个对话框,可是在这两个对话框没有关闭的的条件下再点击确定又弹出两个出来了,也就是一直在new,我想知道怎么记录我已经弹出的对话框指针,保证重复点击确定不会再弹出非模态对话框。
2:比如我弹出两个对话框,我关了一个,我希望再点击弹出后那个被我关掉的一个又会弹出,所以要是这么判断那么在关闭对话框的时候应该会要做些什么事情的,否则我关闭后就会弹不出来呀,关闭弹出的对话框该操作些什么呢
[/quote]
使用(*itor)->GetWindowText(strCaption);试试[/quote]
谢谢你回答这么多,按你的思路,然后我在弹出窗口的类中析构的时候发送消息,使关闭某个对话框后对应删除vector中的指针,最后解决了问题,分都给你了 谢了哈。。。

2:比如我弹出两个对话框,我关了一个,我希望再点击弹出后那个被我关掉的一个又会弹出,所以要是这么判断那么在关闭对话框的时候应该会要做些什么事情的,否则我关闭后就会弹不出来呀,关闭弹出的对话框该操作些什么呢
[/quote]
使用(*itor)->GetWindowText(strCaption);试试vector<CDialog*> m_VectorDlg;//这个是类成员变量 在XXX.h里面生明
for (int i.....)//自己控制
{
//首先对比 m_VectorDlg中是否存在
vector<CDialog*>::iterator itor;
for (itor=m_VectorDlg.begin();itor!=m_VectorDlg.end();itor++)
{
CString strCaption;
itor->GetWindowText(strCaption);
if (strCaption==_T("XXX"))
break;
}
if (itor!=m_VectorDlg.end())
{
//说明存在
continue;
}
else
{
//新建对话框
dlgyhmb=new XXXXXX;
......
m_VectorDlg.push_back(dlgyhmb);//添加到容器里面
}
}
