C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Как задать минимальный и максимальный размер окна / Окна и интерфейс / Visual C++

Как задать минимальный и максимальный размер окна
A: (Alfa)
Оригинальная ссылка: нету

Когда изменяются размеры окна, 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);
}