新手请教:如何实现对话框与程序的交互?

jeric 2004-03-31 10:14:44
对于一个对话框工程,加入子对话框。对于非模式子对话框,主对话框要怎样才能获得子对话框上面编辑框的数据,以及怎样得知子对话框已经关闭。对于模式对话框又如何?
希望哪位朋友能有例子程序提供,谢谢!
...全文
6 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vollin 2004-04-02
这种其实是两方面的事,第一方面是数据的传递,第二方面是消息的通知。
关于数据的传递可以用我上在说到的任何一种方法,关于消息的通知,可以发窗口消息,这需要把主窗口句柄传到子窗口,还可以用事件,这需要主窗口等待这个事件。
回复
jeric 2004-04-01
谢谢各位!

模式对话框已经能解决了,但非模式还是不太清楚,继续请教!

主窗口如何得知非模式对话框已经给变量上传了数据?
就像这样:我在菲模式子对话框上输入一些数据,然后按上传按钮,主窗口要能马上获得这个数据,怎么实现!?

回复
vollin 2004-03-31
1。可以通过子窗口的窗口指针来访问它的成员变量来得到它的值,
2。可以通过子窗口发消息给你窗口来得到要用的参数,
3。可以通过全局变量来传值,
4。可以在父窗口中定义变量,把父窗口指针传到子窗口中,在子窗口中通过父窗口的指针来将值写到父窗口的变量中
回复
winboth 2004-03-31
m_sEdit作为子对话框(CdlgChild)的成员变量
子对话框指针(m_pdlgChild)作为主对话框(CdlgMain)的一个成员变量
m_pdlgChild=new (CdlgChild);
m_pdlgChild->Create(IDDCHILD,NULL);
m_pdlgChild->m_sEdit即为所求。

m_pdlgChild->ShowWindow(true)显示
回复
smallbull 2004-03-31
(模式对话框)比如:
在主对话框中声明:int m_MainDlg;
在子对话框中声明:int m_ChildDlg;
if(dlg.DoModal() == IDOK)
m_MainDlg = dlg.m_ChildDlg;
回复
itmaster 2004-03-31
获得子对话框上面编辑框的数据:
主对话框中定义指向子对话框的指针
同时子对话框控件要和子对话框的数据成员进行匹配
然后利用指针取得所需数据
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告