窗口间变量传递
来源:互联网 发布:淘宝快递助手功能 编辑:程序博客网 时间:2024/05/25 12:22
虽然没碰到过多少,至少现在遇到了以下几种变量传递的情况:1。主窗口向子窗口传递;2。子窗口向主窗口传递;3。子窗口间互相传递;下面分别介绍。
一、主窗口向子窗口传递变量
1、 在主窗口中如是全局变量,可在子窗口中直接用extern声明而在子窗口中直接用,前提是必须包含主窗口的头文件。例如:主窗口CMainDlg,子窗口CSub,在主窗口中定义全局变量int temp;temp = 22;,可在CSub中直接用extern int temp;然后随便自己怎么去用.
2、在主窗口中如是成员变量或成员函数,则可以直接用CMainDlg *parent = (CMainDlg*)GetParent();然后parent->*******就可以了。
3、CMainDlg创建CSub,CSub创建CSubSub,则在CSubSub中也可以用CMainDlg *parent = (CMainDlg*)GetParent();来调用CMainDlg中的函数与变量,方法同2。
二、子窗口向主窗口传递变量
CSub dlg; dlg.m_temp = &m_main_temp; dlg.DoModal(); 其中m_temp是CSub中定义的public的指针,m_main_temp是CMainDlg中public的成员变量,它们的类型要保持一致。不过这种传递方法是在子窗口关闭后变量值才能传到主窗口中。
三、子窗口间变量传递
如是全局变量,可直接用extern来声明,方法和上面的一样。如果不是全局变量,则需要得到相应对话框的指针或句柄,然后用指针或句柄去操作其中的变量或函数。如
HWND hwnd;
hwnd=::FindWindow(NULL, "关机或重启"); //找到对话框标题为“关机或重启”的对话框
CWnd *p=FromHandle(hwnd);
p->***************;
其实传递变量的方法很多,可以通过发送消息;可以在子窗口中保存主窗口句柄,利用此句柄访问;可以在主窗口中保存子窗口句柄,主窗口调用此句柄方法也就是子窗口的put方法传递;可以在子窗口的构造函数中传递一个参数,在主窗口构建子窗口的时候传进去。这里只介绍了其中的一点点,有需要的朋友可以自己去研究,呵呵……另外附上几个我以前用MFC时发的帖子,希望对大家有所帮助。
http://community.csdn.net/Expert/topic/5369/5369722.xml?temp=.3070032
http://community.csdn.net/Expert/topic/5421/5421410.xml?temp=.741482
http://community.csdn.net/Expert/topic/5421/5421598.xml?temp=.6908838
http://community.csdn.net/Expert/topic/5376/5376157.xml?temp=.8486139
- 窗口间变量传递
- mfc对话框窗口之间变量的传递
- 窗口间传递数据
- 窗口之间变量参数传递的实现方法
- SL三个基本问题:窗口跳转、变量保存、参数传递
- 窗口间的消息传递
- C# 窗口间传递数据
- Web窗口间数据传递
- powerbuilder窗口间传递参数
- 在窗口间传递数据
- C#窗口间传递消息
- C# 窗口间传递参数
- ASP中如何用JS从子窗口传递值变量到父窗口表单中?
- 打开和关闭窗口以及窗口间的数据传递
- JS 子窗口与父窗口间的数据传递
- JS 子窗口与父窗口间的数据传递
- 实现窗口间的参数传递
- 关于两个窗口间的数据传递
- 国际首个量子密码通信网络在中国测试成功[WWW.XINHUA.CN]
- 四大类型的语言,动态,静态,强类型,弱类型
- 30天帮你快速融入新公司
- A NICE DAY
- ASP.NET2.0 ObjectDataSource的使用详解
- 窗口间变量传递
- 博文视点Pragmatic Bookshelf 又添新成员《版本控制之道——使用Subersion,第2版》
- 取得有标题栏的窗口的句柄与指针
- JavaScript语句
- vlan 经验总结
- 汇编:把寄存器AX的十六进制数转换成十进制形式输出
- regex tutorial using java (1)
- SQL语句收藏
- 屏蔽XP系统中的Enter、Esc、Alt+F4