Интересный вопрос про ClientRect
Есть такая проблема: я создаю SDI без Wizard-а, ручками, описываю в нем ToolBar и StatusBar, создаю, но они появляются внутри рамки окна, т. е. потом я определяю ClientRect, создаю на всю клиентскую область дочернее окно и оно перекрывает и ToolBar и StatusBar.
Кто знает, подскажите, что я не доглядел?
CDocView и CDocument я не использовал, может причина в этом? Но подстановка таковых все равно ничего не дала.
ответ там
Цитата:
Originally posted by GDragon
Всем привет.
Есть такая проблема: я создаю SDI без Wizard-а, ручками, описываю в нем ToolBar и StatusBar, создаю, но они появляются внутри рамки окна, т. е. потом я определяю ClientRect, создаю на всю клиентскую область дочернее окно и оно перекрывает и ToolBar и StatusBar.
Кто знает, подскажите, что я не доглядел?
CDocView и CDocument я не использовал, может причина в этом? Но подстановка таковых все равно ничего не дала.
Всем привет.
Есть такая проблема: я создаю SDI без Wizard-а, ручками, описываю в нем ToolBar и StatusBar, создаю, но они появляются внутри рамки окна, т. е. потом я определяю ClientRect, создаю на всю клиентскую область дочернее окно и оно перекрывает и ToolBar и StatusBar.
Кто знает, подскажите, что я не доглядел?
CDocView и CDocument я не использовал, может причина в этом? Но подстановка таковых все равно ничего не дала.
установи в PreCreateWindow дочернего окна
cs.dwExStyle |= WS_EX_CLIENTEDGE;
и
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// create a view to occupy the client area of the frame
if (!m_wndView.Create(AFX_WS_DEFAULT_VIEW,
CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST))
{
TRACE0("Failed to create view window\n");
return -1;
}
// CMainFrame::OnSize или CMainFrame::RecalcLayout переопределять не надо