MFC非模态对话框弹出有关问题

MFC非模态对话框弹出问题
一:MFC非模态对话框弹出有关问题
如图,右边的框中有多少项我点击确定就会弹出多少个非模态对话框,下图红框中是代码
MFC非模态对话框弹出有关问题,现在的问题是比如现在是两项,我点击后弹出两个对话框,可是在这两个对话框没有关闭的的条件下再点击确定又弹出两个出来了,也就是一直在new,我想知道怎么记录我已经弹出的对话框指针,保证重复点击确定不会再弹出非模态对话框。
二:比如一次只弹出一个非模态对话框,
MFC非模态对话框弹出有关问题
一开始判断如果指针是空的,就会创建一个并弹出,弹出后不关闭点击按钮就不会弹出,可是这样写为啥第一个都弹不出来呀?也就是指针一开始都不是空的,我在类里面定义的而且也没有在别的地方new呀?
------解决方案--------------------
引用:
Quote: 引用:

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);//添加到容器里面
}

}

先谢谢你思路挺好的,但是1: itor->GetWindowText(strCaption);这句报错MFC非模态对话框弹出有关问题
2:比如我弹出两个对话框,我关了一个,我希望再点击弹出后那个被我关掉的一个又会弹出,所以要是这么判断那么在关闭对话框的时候应该会要做些什么事情的,否则我关闭后就会弹不出来呀,关闭弹出的对话框该操作些什么呢MFC非模态对话框弹出有关问题

使用(*itor)->GetWindowText(strCaption);试试