荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Deny (Deny), 信区: Visual
标  题: [转载] DoModal()是干什么用的?                Pacific (转寄)
发信站: BBS 荔园晨风站 (Sat Dec 23 22:19:36 2000), 转信

【 以下文字转载自 Deny 的信箱 】
【 原文由 denick.bbs@smth.org 所发表 】
发信人: LeiYh (怡红公子), 信区: VisualC
标  题: Re: 一个简单问题,不要笑我。。。
发信站: BBS 水木清华站 (Sat May  2 22:22:40 1998)

【 在 tln (tln) 的大作中提到: 】
: 在程序中看见一行:
:  if (DoModal()==IDCANCEL)
: return;
: ...
: DoModal()的返回值为何会是IDCANCEL?
: 我只知道DoModal()会调用OnInitDialog(),OnInitDialog()负责初始化对话框,初始化
: 完成后显示对话框。对话框中如果有OK或者CANCEL按纽,比如,按下OK按纽后会执
: 行派生对话框类的成员函数OnOK();执行派生对话框类的OnOK()时会调用基类
: CDialog的OnOK(); CDialog::OnOK又会调用DestroyWindow(p)销毁对话框(是
: 不是使对话框消失,而不销毁对话框类?)。DestroyWindow(p)的参数p(我自己
: 临时起的名称)是DoModal()的返回值。
: 谁能说说DoModal()的执行过程?谢谢。

DoModal()会调用EndDialog(),EndDialog(UINT id)的参数就是函数DoModal()的
返回值,在CDialog的OnCancel()虚函数中就调用了EndDialog(IDCANCEL);

--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: cit.cs.sjtu.edu]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.119]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店