【wince】关闭不了非模式对话框??

[复制链接]
查看11 | 回复9 | 2021-1-27 06:21:09 | 显示全部楼层 |阅读模式
创建了一个非模式对话框,然后点击右上角的“OK”按钮,程序没什么反应??
对话框类中只增加了WM_NCDESDROY的处理函数如下:
voidCTXDlg::OnNcDestroy()
{
CDialog::OnNcDestroy();
deletethis;
}
点“OK”按钮后,上面函数没有执行。
对话框创建代码如下:
CTXDlg*dlg=newCTXDlg;
if(dlg!=new)
{
if(dlg->Create(IDD_DLG_TX,this)==TRUE)
dlg->ShowWindow(SW_NORMAL);
else
deletedlg;
}
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
WindowsMobile上没这个消息吧
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
WM好像不支持WM_NCDESDROY消息,支持WM_DESTRORY
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
我用的是windowsmobile5.0SDK,开发环境为vs2005,添加时能看到这个消息,编译时也没出现错误?
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
你对话框关闭的时候不要直接delete,用destoryWindow,如果是模态的用EndDialog,然后再delete.
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
帮顶,关注
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
点了左上角的“ok”按钮后,对话框也没有关闭
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
非模式请用:DestroyWindow
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
使用CWnd::DestroyWindow函数来删除由Create函数创建的对话框
回复

使用道具 举报

千问 | 2021-1-27 06:21:09 | 显示全部楼层
也许不是代码问题吧!我自己很久以前也遇到过此类问题,前两天同事也碰到这种事情,不同的是程序不进按钮消息.反正不管是现在还是原来那一个都不知道怎么解决,再创建的任何控件消息都不响应.最终只得重建工程.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行