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

jeric 2004-03-31 10:14:44
对于一个对话框工程,加入子对话框。对于非模式子对话框,主对话框要怎样才能获得子对话框上面编辑框的数据,以及怎样得知子对话框已经关闭。对于模式对话框又如何?
希望哪位朋友能有例子程序提供,谢谢!
...全文
33 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
获得子对话框上面编辑框的数据:
主对话框中定义指向子对话框的指针
同时子对话框控件要和子对话框的数据成员进行匹配
然后利用指针取得所需数据

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧