У меня есть приложение MFC MDI. Если я изменил размер моего окна, я получу окно с новым масштабом.MFC draw new at maximized window
BEGIN_MESSAGE_MAP(CmyView, CFormView)
ON_WM_SIZE()
END_MESSAGE_MAP()
void CmyView::OnSize(UINT nType, int cx, int cy)
{
RECT rc;
GetClientRect(&rc);
if (::IsWindow(m_XYZ.GetSafeHwnd()))
{
m_XYZ.MoveWindow (rc.left, rc.top,rc.right,rc.bottom);
}
}
Все работает нормально, но если я нажму кнопку максимизации, экран не изменит размер. Я получу белую рамку справа и внизу. Есть ли какие-либо изменения, чтобы получить событие максимизации, например событие изменения размера (ON_WM_SIZE())?
Спасибо :)
Вы посмотрели на обработку [WM_SYSCOMMAND] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms646360 (v = vs.85) .aspx) для SC_MAXIMIZE? – rrirower
Я не могу в это поверить. WM_SIZE также отправляется, когда окно максимизируется. Должна быть другая проблема. Просто установите точку останова и максимизируйте ... – xMRi
да, это странно. Если я нажму кнопку «Отменить», вызывается функция ONSize .... –