Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MDI приложение на MFC (не создается клиентское окно)

6.1K
23 июня 2008 года
Gfunk
42 / / 31.01.2006
Написал простейшее MDI приложение с использованием MFC.При запуске появляется Frame окно но темного Client окна нет.Вместо этого окно непрорисовавается и в рабочую область попадает то что под окном.
Вот код:

class CMainFrame:public CMDIFrameWnd
{

public:

CMainFrame();
virtual ~CMainFrame();

protected:

afx_msg int OnCreate(LPCREATESTRUCT cs);
afx_msg void OnSize( UINT nType, int cx, int cy );
afx_msg void OnPaint();
afx_msg void OnDestroy();
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
CMenu MainMenu;

DECLARE_MESSAGE_MAP()

};

CMainFrame::CMainFrame()
{
MainMenu.LoadMenu(IDR_MAIN_MENU);
}

BEGIN_MESSAGE_MAP(CMainFrame,CMDIFrameWnd)
ON_WM_CREATE()
ON_WM_SIZE()
ON_WM_PAINT()
ON_WM_DESTROY()
END_MESSAGE_MAP()

CMainFrame::~CMainFrame()
{
}

afx_msg int CMainFrame::OnCreate(LPCREATESTRUCT cs)
{

CreateClient(cs,&MainMenu);

return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT &cs)
{
cs.hMenu = MainMenu.m_hMenu;
cs.lpszName = "Hello";
cs.dwExStyle &= ~WS_EX_CLIENTEDGE;
cs.lpszClass = AfxRegisterWndClass(0);
return CMDIFrameWnd::PreCreateWindow(cs);

}


void CMainFrame::OnSize(UINT nType, int cx,int cy)
{
CMDIFrameWnd::OnSize(nType, cx, cy);
RecalcLayout();
}

void CMainFrame::OnPaint()
{
CRect WinRect;
GetClientRect(&WinRect);
ValidateRect(&WinRect);
}

void CMainFrame::OnDestroy()
{
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог