C++ 如何在CFramewnd MFC中创建停靠平面窗口
我已在CMainFrame on OnCreate message中创建了一个CDockablePane窗口,如下所示:C++ 如何在CFramewnd MFC中创建停靠平面窗口,c++,visual-c++,mfc,C++,Visual C++,Mfc,我已在CMainFrame on OnCreate message中创建了一个CDockablePane窗口,如下所示: int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWndEx::OnCreate(lpCreateStruct) == -1) return -1; //.........................some other code here BOO
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
//.........................some other code here
BOOL bNameValid;
CString strLoginPageWnd;
bNameValid = strLoginPageWnd.LoadString(IDS_LOGINPAGE_WND);
ASSERT(bNameValid);
if (!m_wndLoginPage.Create(strLoginPageWnd, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_LOGINPAGEWND, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | CBRS_TOP | CBRS_FLOAT_MULTI))
{
TRACE0("Failed to create LoginPage window\n");
return -1; // failed to create
}
m_wndLoginPage.EnableDocking(CBRS_ALIGN_ANY);
DockPane(&m_wndLoginPage);
//..............................Some other code here
return 0;
}
m_wndLoginPage是CDockablePane窗口类对象上的一个对象。因此,它工作正常,窗口显示正确,如下所示:
因此,我想在单击Login按钮后,显示另一个类似LoginWindow的CDockablePane窗口,该名称应显示在工具栏和停靠窗口中,与Login窗口相同。我试图在事件处理程序中添加以下代码,但它不起作用:
BOOL bNameValid;
CString strLoginPageWnd2;
bNameValid = strLoginPageWnd2.LoadString(IDS_LOGINPAGE_WND2);
ASSERT(bNameValid);
CMainFrame *pMainWnd = (CMainFrame *)AfxGetMainWnd();
if (!m_wndLoginPage2.Create(strLoginPageWnd2, this, CRect(0, 0, 200, 200), TRUE, ID_VIEW_LOGINPAGEWND2, WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | CBRS_TOP | CBRS_FLOAT_MULTI))
{
TRACE0("Failed to create LoginPage window\n");
return -1; // failed to create
}
m_wndLoginPage2.EnableDocking(CBRS_ALIGN_ANY);
pMainWnd->DockPane(&m_wndLoginPage2);
有人能帮我创建另一个CDockablePane窗口并将其连接到CMInframe吗?您需要自己动手。第一步:给自己找一份杰夫·普洛塞斯的。什么不起作用
m_wndLoginPage1
或m_wndLoginPage2
?您是否在调用Create
时进入?您的rc资源文件中是否定义了对话框ID\u VIEW\u LOGINPAGEWND2
?您需要帮助自己。第一步:给自己找一份杰夫·普洛塞斯的。什么不起作用m_wndLoginPage1
或m_wndLoginPage2
?您是否在调用Create
时进入?您的rc资源文件中是否定义了对话框ID\u VIEW\u LOGINPAGEWND2
?