在 MFC(Microsoft Foundation Classes)中,CFrameWndEx 类确实有一个名为 OnActivateApp 的公共方法。这个方法是一个虚拟函数,通常在应用程序激活或非激活时由 MFC 框架调用。

以下是 CFrameWndEx::OnActivateApp 的一般形式:
virtual void OnActivateApp(BOOL bActive, DWORD dwThreadID);

这个虚拟函数接受两个参数:

  •  bActive:一个布尔值,指示应用程序是激活还是非激活。

  •  dwThreadID:标识与应用程序关联的线程的线程ID。


当应用程序激活或非激活时,MFC 框架会自动调用这个函数。在你的派生类中,你可以重写这个函数以执行在应用程序激活或非激活时所需的操作。

以下是一个简单的示例:
class CMyFrameWnd : public CFrameWndEx
{
public:
    // ...

    virtual void OnActivateApp(BOOL bActive, DWORD dwThreadID) override
    {
        CFrameWndEx::OnActivateApp(bActive, dwThreadID);

        if (bActive)
        {
            // 应用程序被激活
        }
        else
        {
            // 应用程序非激活
        }
    }

    // ...
};

你可以在这个函数中执行与应用程序激活状态相关的操作,例如处理激活时的数据刷新、暂停定时器等。


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