FAQ по C/C++/Visual C++
![]() Работа с сетью![]() ![]() Как задать минимальный и максимальный размер окна |
Составители: SUnteXx, Leprecon |
| Как задать минимальный и максимальный размер окна | |||
|
Когда изменяются размеры окна, Windows запрашивает у программы минимальный и максимальный размеры, посылая сообщение WM_GETMINMAXINFO. WM_GETMINMAXINFO lpmmi = (LPMINMAXINFO) lParam; // адрес структурыПри этом в параметре lParam размещается указатель на структуру MINMAXINFO, в которую и следует записать нужные значения. Пример для WinAPI: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
// ...
case WM_GETMINMAXINFO: //Получили сообщение от Винды
{
MINMAXINFO *pInfo = (MINMAXINFO *)lParam;
POINT Min = { 50, 50 };
POINT Max = {100, 100 };
pInfo->ptMinTrackSize = Min; // Установили минимальный размер
pInfo->ptMaxTrackSize = Max; // Установили максимальный размер
return 0;
}
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
}Пример для MFC:void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)
{
lpMMI->ptMinTrackSize = CPoint(50, 50); // Установили минимальный размер
lpMMI->ptMaxTrackSize = CPoint(100, 100); // Установили максимальный размер
CFrameWnd::OnGetMinMaxInfo(lpMMI);
}
| |||
|
|
FAQ составлен по материалам Форума на Исходниках.Ру. Copyright © 2002 by Sources.ru. All rights reserved. |