关于创建对话框数组的思路,请高人指点一下思路

zfjrz 2005-04-09 12:58:11
本人定义了一个指针数组
Testdlg *dlgptr[16];
向用来保存一组对话框:
Testdlg *pDialog = new Testdlg();
if(pDialog != NULL)
{
BOOL ret = pDialog->Create(IDD_DIALOG1,this);
if(!ret) //Create failed.
AfxMessageBox("Error creating Dialog");
dlgptr[n++]=pDialog;
pDialog->ShowWindow(SW_SHOW);
}
else
AfxMessageBox("Error Creating Dialog Object");

这样我就可以通过访问dlgptr[]来操作不同的对话框了
问题是,销毁对话框的时候怎么办? 请各位给点思路


...全文
105 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfjrz 2005-04-09
  • 打赏
  • 举报
回复
要怎样才能使主程序知道对话框的状态呢?
cnwww 2005-04-09
  • 打赏
  • 举报
回复
if(dlgptr[i] != NULL)
{
delete dlgptr[i];
dlgptr[i] = NULL;
}
mousefj 2005-04-09
  • 打赏
  • 举报
回复
我想不可能用你这样的数组,至少用动态数组如CArray,创建的每个对象都加到动态数组或链表。
surstar 2005-04-09
  • 打赏
  • 举报
回复
用CreateWindow
和DestroyWindow
zfjrz 2005-04-09
  • 打赏
  • 举报
回复
我想要实现的是
像QQ那样,可以弹出多个对话框,彼此独立,但是又能被主程序识别。
难道它不是用数组记录的?
zfjrz 2005-04-09
  • 打赏
  • 举报
回复
这样也解决不了问题啊!
如果使用过程当中我关闭了其中的一个或几个,但是后来又新建了几个对话。
那又怎么更替数组中的元素呢?
赖勇浩 2005-04-09
  • 打赏
  • 举报
回复
for(int i = 0;i<16;i++)
{
if(dlgptr[i] != NULL)
delete dlgptr[i];
}

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧