我正在尝试将辅助窗口添加到我的MFC应用程序中。这是我为显示主窗口所写的内容:
部首:
class CMyApp : public CWinApp
{
public:
virtual BOOL InitInstance ();
};
class CMainWindow : public CFrameWnd
{
public:
CMainWindow (char *p_mchar);
protected:
afx_msg void OnPaint ();
DECLARE_MESSAGE_MAP();
};
源文件:
#include <afxwin.h>
#include <afxmt.h>
#include "mfc0.h"
#include <string.h>
CMyApp myApp;
BOOL CMyApp::InitInstance ()
{
m_pMainWnd = new CMainWindow("Test 1");
m_pMainWnd->ShowWindow (m_nCmdShow);
m_pMainWnd->UpdateWindow ();
return TRUE;
}
BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd)
ON_WM_PAINT ()
END_MESSAGE_MAP ()
CMainWindow::CMainWindow (char *p_mchar)
{
Create (NULL, L"mfc0");
}
void CMainWindow::OnPaint ()
{
CPaintDC dc (this);
CMainWindow* hwnd = this;
}
我认为添加另一个CFrameWnd是可行的方法,但我无法弄清楚如何在应用程序中显示该窗口。我不能两次使用m_pMainWnd,对吗?必须有一个简单的解决方案,但我在这里有点迷失。
答案 0 :(得分:1)
如果你想在第二个窗口上进行绘画,那么创建另一个CFrameWnd是一个很好的方法。只需将成员变量添加到CWinApp派生类,如m_pSecondWindow。如果你想在第二个窗口上进行控制,那么无模式对话框是一个更好的方法。