社区
界面
帖子详情
HELP:无模式对话框消息响应
drjojo
2006-11-17 04:04:06
主窗口弹出了3个无模式对话框A,B,C
当其中一个无模式对话框关闭时候
主窗口怎么能知道关闭的是A,B还是C
...全文
209
19
打赏
收藏
HELP:无模式对话框消息响应
主窗口弹出了3个无模式对话框A,B,C 当其中一个无模式对话框关闭时候 主窗口怎么能知道关闭的是A,B还是C
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
某鸟
2006-11-23
打赏
举报
回复
说错说错~
m_pChildDlg1->m_pParent = this;是父窗口告诉子窗口自己地址。
子窗口知道了父窗口地址就可以Postmessage……
m_pChildDlg1->m_pParent->PostMessage(/*自定义消息*/,0,this);
即可
某鸟
2006-11-23
打赏
举报
回复
m_pChildDlg1->m_pParent = this;
this就是自己啊~相当于自己的地址了~
drjojo
2006-11-20
打赏
举报
回复
m_pChildDlg1->m_pParent = this;
/////////这句 是父窗口告诉告诉子窗口自己的地址?
关闭的时,在子窗口OnClose事件里发送个消息给父窗口,
PostMessage(/*自定义消息*/,0,/*自己的地址*/);
/////////子窗口如何获取自己的地址?
Thanks
某鸟
2006-11-19
打赏
举报
回复
销毁非模态子对话框大约有这么两种方法:
1.重载虚函数PostNCDestroy……在那地方写delete this,全都省事了……
但是这样有个小缺点:父窗口不知道子窗口关了。
内存泄漏倒是没有,只是父窗口可能要在子窗口关闭的时候做点事,他不知道子窗口啥时候关就不好办了……:)
2.父窗口在建立子窗口的时候,告诉子窗口自己的地址,
CChildDlg *m_pChildDlg1 = new CChildDlg...;
m_pChildDlg1->m_pParent = this;
m_pChildDlg1->ShowWindow(SW_SHOW);
关闭的时,在子窗口OnClose事件里发送个消息给父窗口,
PostMessage(/*自定义消息*/,0,/*自己的地址*/);
父窗口处理这个消息:
...//做点其它的……
if(m_pChild1)
delete m_pChildDlg1;
某鸟
2006-11-18
打赏
举报
回复
还有,你建非模态对话框的时候,父窗口应该知道那三个子窗口的指针的,不然你怎么销毁子窗口?
除非用PostNCDestroy……
某鸟
2006-11-18
打赏
举报
回复
父窗口建立子对话框的时候,设置一个子对话框的成员变量标记。
子窗口关闭的时候,将那个变量发送回去……sendmessage发过去
drjojo
2006-11-18
打赏
举报
回复
父窗口建立子对话框的时候,设置一个子对话框的成员变量标记。
子窗口关闭的时候,将那个变量发送回去……sendmessage发过去
===================
能否帮忙给段代码?
drjojo
2006-11-18
打赏
举报
回复
还有,你建非模态对话框的时候,父窗口应该知道那三个子窗口的指针的,不然你怎么销毁子窗口?
除非用PostNCDestroy……
===========================
我就需要知道是哪个子窗口关闭
然后在主窗口把它给销毁
void CChildrenDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
AfxGetMainWnd()->SendMessage(WM_EXITCHILDRENUI, 0, 1);
CDialog::OnClose();
}
三个窗口关闭时候给主窗口发送的都是这个消息
drjojo
2006-11-17
打赏
举报
回复
无模式对话框 的关闭 应该是隐藏吧!
-------------
无模式对话框 的关闭不会响应 OnDestroy()函数
只有主窗口关闭时候才会跳到OnDestroy()
这样能说明它是隐藏 而不是关闭吗?
drjojo
2006-11-17
打赏
举报
回复
如果我有100个窗口呢?
那不是很麻烦?
呵呵
charlen
2006-11-17
打赏
举报
回复
主窗口类加个成员变量..
子窗口Close时 用GetParent() 去改写成员变量
^_^比较笨的办法...
lwykj
2006-11-17
打赏
举报
回复
无模式对话框 的关闭 应该是隐藏吧!
用 IsWindowVisible() 判断一下 那个隐藏了就知道了嘛!
alan001
2006-11-17
打赏
举报
回复
App类里不支持Dlg成员???问一下???
zx_hero
2006-11-17
打赏
举报
回复
ftq2w3eq
zx_hero
2006-11-17
打赏
举报
回复
efsdfsd
drjojo
2006-11-17
打赏
举报
回复
void CChildrenDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
CWnd* pWnd = AfxGetMainWnd();
AfxGetMainWnd()->SendMessage(WM_EXITCHILDRENUI, 0, 1);
CDialog::OnClose();
}
ABC都是CChildrenDlg类的窗口,关闭时响应的都是同一个OnClose(),该怎么设置?
依然做自己的软件
2006-11-17
打赏
举报
回复
这里的关闭,应该是指隐藏吧
可以在A里做吧,那样就好做
happyness44
2006-11-17
打赏
举报
回复
或者用全局变量
happyness44
2006-11-17
打赏
举报
回复
自定义消息,关闭的时候传给主窗口
实战wxPython:021 -
对话框
Dialog
本文介绍了wx.Dialog在GUI应用中的作用,它是所有
对话框
窗口类的基类,常用于定制交互式任务。文章详细讲解了
模式
对话框
和无
模式
对话框
的区别,以及如何使用wx.Dialog创建具有不同功能的
对话框
,包括如何处理用户输入和交互事件。此外,还提供了一个使用wx.Dialog创建颜色深度选择
对话框
的示例代码。
gitui弹出窗口系统:confirm、
help
、msg等
对话框
使用
gitui是一款基于Rust开发的终端Git用户界面,本文详细介绍了其弹出窗口系统中的确认
对话框
(ConfirmPopup)、帮助
对话框
(
Help
Popup)和
消息
对话框
(MsgPopup)的使用方法和最佳实践。这些
对话框
为用户提供了丰富的交互体验,包括二次确认、命令帮助和系统
消息
显示等功能。
winlogon源代码分析之win32k!xxxScanSysQueue函数对WM_LBUTTONDOWN
消息
的处理点击Logon
Help
对话框
编辑区第二段
本文分析win32k内核模块中xxxScanSysQueue函数如何处理WM_LBUTTONDOWN
消息
,重点探讨其在Logon
Help
对话框
中的鼠标点击
响应
机制。涉及窗口命中测试、坐标转换、双击检测及
消息
队列管理等关键流程,揭示Windows图形子系统对用户输入的底层处理逻辑。
关于MFC 计算器
响应
键盘
消息
及虚拟键码
本文介绍了在MFC基于
对话框
的计算器应用中如何处理键盘
消息
,特别是在虚函数PreTranslateMessage()中
响应
键盘输入。同时,列举了虚拟键码的详细列表,包括可映射和不可映射的代码,以及鼠标按键的VK代码,强调了不合理的键码映射问题。
MFC程序屏蔽F1热键
响应
help
报错
本文介绍了一个MFC程序中遇到的问题:按下F1键时弹出“Failed to launch
help
”的错误提示。文中详细描述了如何通过在
对话框
类中屏蔽vk_f1以及在应用程序级别屏蔽On
Help
消息
来解决此问题。
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章