以下是 CMDIChildWnd 类中 MDIActivate 方法的基本语法:
void MDIActivate();
void MDIActivate(CWnd* pWndActivate, CWnd* pWndDeactivate);
- 第一种形式的 MDIActivate 方法不带参数,用于将当前的 CMDIChildWnd 对象激活为 MDI 子窗口的活动窗口。
- 第二种形式的 MDIActivate 方法带有两个参数,分别是要激活的窗口(pWndActivate)和要停用的窗口(pWndDeactivate)。
以下是一个简单的示例代码,演示如何使用 MDIActivate 方法:
#include <afxwin.h>
class CMyMDIChild : public CMDIChildWnd
{
public:
CMyMDIChild() {}
// 自定义激活方法
void MyActivate()
{
MDIActivate();
}
};
class CMyMDIFrame : public CMDIFrameWnd
{
public:
CMyMDIFrame()
{
Create(NULL, L"My MDI Frame", WS_OVERLAPPEDWINDOW, rectDefault, NULL, L"MenuID");
// 创建两个 MDI 子窗口
CMyMDIChild* pChildWnd1 = new CMyMDIChild;
pChildWnd1->Create(NULL, L"My MDI Child 1", WS_OVERLAPPEDWINDOW, rectDefault, this);
CMyMDIChild* pChildWnd2 = new CMyMDIChild;
pChildWnd2->Create(NULL, L"My MDI Child 2", WS_OVERLAPPEDWINDOW, rectDefault, this);
// 使用 MDIActivate 方法激活第一个子窗口
pChildWnd1->MyActivate();
}
};
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance()
{
// 初始化 MFC 应用程序
CMyMDIFrame* pFrame = new CMyMDIFrame;
m_pMainWnd = pFrame;
pFrame->LoadFrame(IDR_MAINFRAME);
pFrame->ShowWindow(SW_SHOW);
pFrame->UpdateWindow();
return TRUE;
}
};
CMyApp theApp;
在这个示例中,我们创建了两个 MDI 子窗口,并使用 MDIActivate 方法激活了第一个子窗口。你可以通过调用 MDIActivate 方法来切换 MDI 子窗口的激活状态。
转载请注明出处:http://www.zyzy.cn/article/detail/18838/MFC/CMDIChildWnd