社区
界面
帖子详情
HELP:无模式对话框消息响应
drjojo
2006-11-17 04:04:06
主窗口弹出了3个无模式对话框A,B,C
当其中一个无模式对话框关闭时候
主窗口怎么能知道关闭的是A,B还是C
...全文
212
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
打赏
举报
回复
自定义消息,关闭的时候传给主窗口
软件需求工程复习
第1章 需求工程导论 1.软件生产中产生需求问题的最大原因在于对应用软件的(模拟性)理解不透彻或应用不坚决。 2.需求分析的目的是保证需求的(完整性和一致性)。 3.系统需求开发的结果最终会写入(系统需求规格说明)。 4.传统的需求分析方法都是从设计领域转入分析领域的。 5.应用型软件分析阶段的主要目的是发现人们利用软件的原因(目的),找出需要软件解决的问题,理解应用环境中的领域知识,保证功能的 ...
软件工程之需求工程
软件工程之需求工程 软件需求是指用户解决问题或达到目标所需的条件或能力,是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力,以及反映这些条件或能力的文档说明。 软件需求是指用户对系统在行为、功能、性能、设计约束等方面的期望。 需求工程包括两个维度:需求开发维度(技术维度)和需求管理维度(管理维度)。 需求定义的产出是:需求规格说明书SRS。
软件需求工程习题2
第5章 确定项目的前景和范围 确定项目前景与范围的过程: 问题分析过程: 对于发现的每一个问题,都要逐一执行下面的“明确问题→发现业务需求→定义问题解决方案及系统特性”,得到每一个问题的业务需求和解决方案(特性、边界及约束)。将所有问题的结果综合起来,就能够得到整个系统的业务需求和解决方案。 目标分析过程: 1.功能目标可以分为 ( 满足型目标和信息型目标)。 2.面向目标方法的目标分析阶段...
【软件工程】期末复习-第3章 需求分析
教材:《软件工程导论(第6版)》(张海藩、牟永敏)。期末速成,主要针对考点总结,可能缺少部分章节内容,持续更新。督促自己快快复习。
软件工程基础 实验2《需求分析》
实验2《需求分析》 实验学时: 2 实验地点: 二综204 实验日期: 2019年4月22日 一、实验目的 1.了解:软件项目需求分析的基本原理与方法; 2.掌握:用例建模方法、数据流建模方法和IDEF1X数据建模方法; 3.掌握:Visio/EA等工具绘制模型图。 二、实验内容 1、请从下面的描述中找出绘制数据流图的四种成分并用Visio绘制数据流图。 某培训中心要研...
界面
15,975
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章