字体
第(4/5)页
关灯
   存书签 书架管理 返回目录
启动MSDN Libray 并切换到要查看的函数信息页

    面上。

    2.3.2 Run()函数

    应用程序的大部分时间都是在应用程序类的Run()成员函数中进行处理。WinMain()函数

    在初始化应用程序实例后,就调用Run()函数来处理消息循环。

    图2-16 Run 成员函数的消息循环

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·22·

    Run()成员函数不断执行消息循环,检查消息队列中有没有消息。如果有消息,Run()函

    数将其派遣,jiāo由框架去处理,然后返回继续消息循环。如果没有消息,Run()函数将调用

    OnIdle()函数来执行用户或框架在空闲时要执行的工作,如用户接口更新消息处理等。如果既

    没有消息要处理,也没有空闲时的处理工作要做,则应用程序将一直等待,直到有事件发生。

    应用程序结束时,Run()函数将调用ExitInstance()函数使应用程序退出。消息循环的流程图如

    图2-16 所示。

    Run()函数很少被重载,但是也可以重载它以提供特殊的功能,HelloMFC 中的默认Run()

    函数定义如下:

    int CHelloMFCApp::Run()

    {

    return CWinApp::Run();

    }

    2.3.3 ExitInstance()函数

    ExitInstance()函数是在用户退出应用程序的运行实例时由Run()函数调用的。

    框架在Run()成员函数内部调用这个函数以退出应用程序的实例。此函数只能在Run()

    成员函数内部调用。这个函数的默认实现将框架的选项写入应用程序的.ini 文件。重载这个

    函数可以在应用程序退出的时候执行一些清除cāo作。

    HelloMFC 中默认的ExitInstance()函数定义如下:

    int CHelloMFCApp::ExitInstance()

    {

    return CWinApp::ExitInstance();

    }

    返回值表示应用程序的退出码,0 表示没有错误,大于0 的值表示有错误。这个值被用

    作WinMain 的返回值。

    2.3.4 OnIdle()函数

    OnIdle()函数是在应用程序的消息队列中没有消息时由Run()函数调用的。

    如果要执行空闲时处理,则必须重载这个成员函数。当应用程序的消息队列为空时,

    OnIdle 就在默认的消息循环中被调用,可以重载这个函数来调用后台空闲处理任务。

    HelloMFC 中默认的OnIdle()函数定义如下:

    BOOL CHelloMFCApp::OnIdle(LONG lCount)

    {

    return CWinApp::OnIdle(lCount);

    }

    其中lCount 参数是一个计数值,当应用程序的消息队列为空,OnIdle()函数被调用时,

    该计数值就增加1。每当一条新消息被处理时,该计数值就被复位
上一页 目录 下一页