2017-01-24 9 views
0

Я пытаюсь перехватить изменение размера и положения моего окна на основе CDialog с использованием C++ с фреймворком MFC (VS 6.0), чтобы адаптировать позиции моих композиторов в соответствии с новый размер и/или положение.Как перехватить сообщение WM_SIZE из моего CDialog

Как я могу это сделать?

Спасибо!

ответ

2

1) В карте сообщений из вашего диалога, добавьте ON_WM_SIZE() макро

2) В вашем диалоге, добавьте следующий обработчик сообщений:

void CYourDerivedDlg::OnSize(UINT nType, int cx, int cy) 
{ 
    CDialog::OnSize(nType, cx, cy); 
    // do whatever else you need 
} 
+1

Обратите внимание, что у вас нет для учета изменений в позиции, поскольку дочерние окна автоматически перемещаются вместе со своим родителем. Просто упомянем об этом, потому что этот вопрос тоже задает вопрос. – IInspectable