非模态对话框问题,求高手解疑

wnlwcg 2011-08-22 01:34:01
    //先注册窗口类
if (判断是否已注册窗口类)
{
WNDCLASS wc;
::GetClassInfo(hinst,"#32770",&wc);
wc.lpszClassName = "类名";

if (!RegisterClass (&wc))
{
MessageBox(NULL, ("窗口类注册失败!"), NULL, MB_ICONERROR) ;
return ;
}
}

m_hWnd = ::CreateDialog(hinst,MAKEINTRESOURCE(IDD_MSG_DLG), NULL,(DLGPROC)DlgProc);


现在已经实现可以弹出一个对话框然后关闭,并且也可以弹出多个对话框。
还有个问题,我在弹出多个对话框的过程中,关闭前面的某一个,程序就会宕掉。
...全文
109 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wnlwcg 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 danxuezx 的回复:]
看看关闭的时候释放的东西是否跟其它对话框有关系
[/Quote]
关闭的时候,先要到 WM_CLOSE 消息的回调中,然后再释放资源。
现在 都收不到 WM_CLOSE 消息。
danxuezx 2011-08-24
  • 打赏
  • 举报
回复
看看关闭的时候释放的东西是否跟其它对话框有关系
erhan_106 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 danxuezx 的回复:]
这个错误很像下面指针里的一个常见错误:

两个指针指向了同一个地方,释放了其中一个后再去访问另外一个必然崩溃
[/Quote]
应该跟这个没什么关系把,各个对话框的句柄应该是互不影响的,为什么会宕掉的确费解。。
wnlwcg 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 danxuezx 的回复:]
这个错误很像下面指针里的一个常见错误:

两个指针指向了同一个地方,释放了其中一个后再去访问另外一个必然崩溃
[/Quote]
确实有些像,但还不是这个问题。
比如我现在要连续,顺序创建10个对话框,创建到 第 8个的时候 ,我关闭第三个,这时候就会崩溃,但如果我所有对话框都创建完毕,任意关闭哪个 都不会有问题的。

感觉像跟 CreateDialog 的实现机制有关系,就是在创建的时候 就不能 最其他对话框关闭。
danxuezx 2011-08-24
  • 打赏
  • 举报
回复
这个错误很像下面指针里的一个常见错误:

两个指针指向了同一个地方,释放了其中一个后再去访问另外一个必然崩溃
wnlwcg 2011-08-24
  • 打赏
  • 举报
回复
我现在想实现的功能是对外部提供一个接口,可以弹出对话框,对话框需要满足:
1,弹出非模态对话框,显示文字信息,关闭。
2,弹出N个非模态对话框,显示文字信息,关闭。
3,弹出N个非模态对话框,在弹出对话框过程中,点击已弹出的对话框可以正常关闭。
wnlwcg 2011-08-24
  • 打赏
  • 举报
回复
用createDialog方式弹出多个对话框,弹出对话框的过程中,如果关闭已弹出的某个对话框,程序就会死掉。

不知道这个结论对不对。
wnlwcg 2011-08-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 healer_kx 的回复:]
你退出后影响了消息循环了把?》
[/Quote]
在弹出多个对话框的过程中关闭其中一个 ,我在回调函数 中 没有收到 WM_CLOSE 消息。
而等所有的都弹出来之后,我就可以关闭了。
你指的突出后 影响消息循环 指的是哪个 环节??
healer_kx 2011-08-22
  • 打赏
  • 举报
回复
你退出后影响了消息循环了把?》

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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