为了账号安全,请及时绑定邮箱和手机立即绑定

RunModalLoop 与 Run函数什么关系?

/ 猿问

RunModalLoop 与 Run函数什么关系?

慕尼黑的夜晚无繁华 2019-02-06 15:07:12

RunModalLoop 是窗口类的成员函数,Run是进入程序后的消息循环。
我跟踪基于对话框的程序发现,执行到RunModalLoop时显示对话框,并进入循环。

查看完整描述

2 回答

?
MMTTMM

RunModalLoop里面有一个Modal,这里指的是模式的意思,比如弹出的消息框,也有对话框是模式的,模式的定义上是,当模式对话框打开的时候,除非用户关闭了这个对话框,否则不能操作这个对话框的父级窗口,比如让用户输入名称、密码、金额之类的弹出窗口就是模式窗口。运行模式窗口显示运行的消息循环就是ModalLoop,开启这个循环的方法就是RunModalLoop。也就是说RunModalLoop这个方法开启的是模式对话框的消息循环,而直接使用Run开启的是普通的非模式的窗口的消息循环。比如像qq之类的窗口就是非模式的,当然qq也可以打开模式的窗口,比如传文件时候选择文件的窗口就是模式的。

查看完整回答
反对 回复 2019-03-25
?
青春有我

Run是CWinApp的成员,主窗口为CFrameWnd或者非模态窗口时,会执行Run的消息循环;

RunModalLoop是CWnd的成员,窗口为模态窗口时调用,来进行消息循环,这时一般还在CWinApp的InitInstance函数里,InitInstance必须返回为TRUE然后才会执行到Run();

查看完整回答
反对 回复 2019-03-25
  • 2 回答
  • 0 关注
  • 156 浏览
我要回答

相关问题推荐

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信