在 MFC(Microsoft Foundation Classes)中,CWnd::RunModalLoop 是一个公共方法,用于运行模态循环。这个方法通常用于创建模态对话框或模态窗口,并在模态对话框或窗口上运行消息循环,直到对话框或窗口关闭。

以下是 CWnd::RunModalLoop 的基本语法:
int RunModalLoop(DWORD dwFlags = 0);

其中,dwFlags 是一个标志,用于指定循环的行为,可以是以下常量的组合:

  •  MLF_SHOWONIDLE:在空闲时显示窗口。

  •  MLF_NOIDLEMSG:不处理空闲消息。


RunModalLoop 方法通常在创建模态对话框或窗口后调用。它启动了一个消息循环,直到对话框或窗口关闭。在消息循环中,会处理用户输入、定时器消息等,并等待对话框或窗口关闭的消息。

以下是一个简单的示例,演示如何使用 RunModalLoop 运行模态对话框:
CMyDialog dlg;
INT_PTR nResult = dlg.DoModal(); // 运行模态对话框

在 DoModal 函数内部,通常会调用 RunModalLoop 来处理模态循环。

请注意,RunModalLoop 方法通常由 MFC 框架自动调用,而不需要手动调用。在普通的 MFC 对话框应用程序中,通常使用 DoModal 函数来创建和运行模态对话框,而不需要显式调用 RunModalLoop。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23537/MFC/CWnd