[Windows编程]父对话框与非模态子对话框的消息通信

C++ 子对话框窗口调用对话框中的消息函数 CTestmapDlg *dlg = (CTestmapDlg *)this->GetParent(); dlg->OnBUTTONdakaiwenjian() ; 阅读详情

父对话框类:Cwhu_VoiceCardDlg

子对话框类:Cwhu_FaxDlg

第一节:父对话框向子对话框传递消息

Step1: 定义消息

在 父对话框类的头文件"whu_VoiceCardDlg.h"#define  WM_UPATEDATA WM_USER+20 ,父对话框发出WM_UPATEDATA 消息,子对话框接收并相应。


Step2:定义消息响应函数

在子对话框头文件Cwhu_FaxDlg.h中声明:

afx_msg LRESULT OnUpdateData(WPARAM wParam, LPARAM lParam);

然后在Cwhu_FaxDlg.cpp文件包含whu_VoiceCardDlg.h

关于模态对话框非模态对话框的创建、显示,以及和对话框的传值 当然网上关于这方面的技术博文非常多,此处我只是进行一下小记,再加一点自己的体会,方便以后查询。一、模态对话框 1.创建及显示 模态对话框是一种阻塞式的对话框,即没有处理完该对话框,不能对其他地方进行操作。比如我自己项目中药输入网络流的播放url的那种对话框。它的创建很简单。Curl_File dlg; if (dlg.DoModal()==IDOK) { //d 阅读详情

相关推荐

非模式对话框窗体之间消息通信,设置透明窗体

模式对话框作为窗体,与非模式子对话框之间通过自定义消息通讯,同时设置子对话框为透明窗体。

模式对话框与非模式对话框的区别

模式对话框就是不处理它就没法处理窗口,而非模式对话框就是不用先处理此对话框也可以处理窗口.例子:在桌面上右击我的电脑,选择属性,弹出系统属性窗口,点击下面的技术支持,弹出技术支持信息,现在再对系统属性窗口进行操作就操作不了,这种叫做模式对话框;关闭技术支持信息,在系统属性里选择硬件,点击设备管理器,弹出设备管理器窗口,现在再对系统属性窗口进行操作仍然可以操作,这种就叫做非模式对话框。 在

Sharing_Li的专栏 1586

VC 窗口创建以及窗口之间传递数据、传递消息(模态非模态

http://blog.sina.com.cn/s/blog_49cb42490100nm3n.html 在VC++中,打开对话框一般是用DoModal()函数调用模态对话框,但是模态对话框只能在对弹出的当前子窗口进行操作,而不能对窗口进行操作,也无法传递数据到窗口中,根据笔者的研究发现,采用非模态对话框的模式可以很好的解决这一问题。 在VS2008中新建一个就有MFC应用程序的Pro

chenscmail的专栏 1万+

VC非模态对话框发消息

定义一个全局变量,把这个非模式对话框A的指针保存起来 CWnd* handDlg = NULL; 在非模式对话框A创建时将地址保存在handDlg中 CMyDlg *pDlgA=new CMyDlg; pDlgA->Create(IDD_MY_DIALOG, this); handDlg = pDlgA;//向对话框发送消息 if(handDlg

极简Qt 3669

VC子窗口与窗口通信

一. 调用程序主窗口的函数CMainDlg *pDlg = (CMainDlg*)theApp.m_pMainWnd;if (pDlg != NULL){ pDlg->foo();}  二. 获取窗口的指针HWND hParent=::GetParent();CWnd *wndParent=CWnd::FromHandle(hParent);  

Bill Shaw's Home 1641

非模态对话框的使用

<br />一、创建<br />(1)创建对象指针,new一个对象<br />(2)调用Create(类名::IDD, this);<br />(3)ShowWindow(SW_SHOW);<br />二、销毁(参考)<br />(1)需要销毁的时候,中Post消息,调用OnClose();<br />(2)OnClose()中调用基类的OnClose并this->DestroyWindow();<br />(3)OnNcDestroy(),调用基类的该方法,并发消息给窗口,通知子窗口关闭,然后delet

IT旅途 399

子窗口向窗口发送消息

遇到的问题,用 GetParent( )->SendMessage 在非模式窗口中向窗口发消息,结果在窗口怎么也收不到消息。 改用this->m_pParentWnd->SendMessage 就可以收到了,在此记录一下

Mandy_zhou的专栏 754

窗口参数在非子模态窗口的应用

说明: 通过window.dialogArguments就可以在子模态窗口里获得窗口的参数。因为window是顶层对象,所以可以不用写。获得参数后,子窗口运用时就好像在窗口里使用 showModelessDialogEX.htm var sUserName=""; function fnCallDialog(){ showModelessDialog("myDi...

zengshaotao的专栏 165

模式对话框子窗口间的通信

本文主要对防止模式对话框弹出新子窗口,和子窗口间的通信进行介绍。 比如,如下代码是子窗口(模式窗口)的jsp中的js代码。 function test() { var flag = document.getElementById("key"); if (flag.value == "true") { window.returnValue = true; ...

duqiangcise 326

[深入理解计算机系统]Hello World的一生

一个Hello.c程序如表1.1所示。 Hello.c #include int main() {          printf(“Hello World\n”);          return 0; } 这个Hello World程序,看似简单,可是为了让它完成运行,需要系统的各个组成部分协调工作,本文将通过跟踪Hello W

林雄民 3295
上一篇: Linux入门学习-文件操作_第六章
下一篇: [windows编程]中文转拼音类-得到拼音首字母
ShelmyLin
博客等级 码龄14年 11粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值