2015-01-22 2 views
0

Я пытаюсь добавить вторичное окно к моему приложению MFC. Это то, что я написал для показа главного окна:Вторичное окно в приложении 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 это путь, но я могу» t выяснить, как показать это окно в приложении. Я не могу использовать m_pMainWnd дважды, не так ли? Должно быть простое решение, но я немного потерялся здесь.

ответ

1

Если вы хотите сделать рисование на втором окне, то создание другого CFrameWnd - хороший способ пойти. Просто добавьте переменную-член в свой производный класс CWinApp, например m_pSecondWindow. Если вы хотите, чтобы во втором окне были элементы управления, лучше выбрать способ диалога с моделью.

+0

Спасибо! Получил эту работу, добавив «CSecondWindow * m_pSecondWnd;». –

Смежные вопросы