Задать нужный размер клиентской области окна.

Тема в разделе "WASM.WIN32", создана пользователем Ustus, 17 ноя 2009.

  1. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Как это сделать кошерно?
    Нашел в гугеле вот такое:
    Код (Text):
    1. void ClientResize(HWND hWnd, int nWidth, int nHeight)
    2. {
    3.   RECT rcClient, rcWindow;
    4.   POINT ptDiff;
    5.   GetClientRect(hWnd, &rcClient);
    6.   GetWindowRect(hWnd, &rcWindow);
    7.   ptDiff.x = (rcWindow.right - rcWindow.left) - rcClient.right;
    8.   ptDiff.y = (rcWindow.bottom - rcWindow.top) - rcClient.bottom;
    9.   MoveWindow(hWnd,rcWindow.left, rcWindow.top, nWidth + ptDiff.x, nHeight + ptDiff.y, TRUE);
    10. }
    Как-то через pi gu :dntknw:
    Может есть чего-то попроще в GUI, а я не знаю?
     
  2. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    AdjustWindowRectEx разве что?
     
  3. Klayd

    Klayd Степан

    Публикаций:
    0
    Регистрация:
    7 апр 2006
    Сообщения:
    59
    Адрес:
    Киев
    посмотри в сторону AdjustWindowRectEx...
    хотя помоему этот способ тоже ничего)
     
  4. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    iZzz32
    Klayd
    Спасибо, поглядим.
     
  5. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    Да, это то, что нужно. А первоначальный вариант не нравится тем, что никто вроде не гарантирует, что у окна клиентская область всегда одинаково расположена относительно самого окна. Вот как сделают на какой нибудь очередной винде масштабируемый заголовок... или уже сделали, а я не в курсе... :)