Как изменить размер окна используя сообщения WM_ * - PullRequest
0 голосов
/ 29 сентября 2010

Когда задан дескриптор окна, как я могу точно изменить размер окна, посылая ему сообщения Windows?Я пробовал много вещей, таких как отправка сообщения WM_SIZING в окно, но ничего не получалось (так, как я это сделал).

Я не люблю использовать SetWindowPosition.

Спасибо взаранее,

Дэвид

Ответы [ 2 ]

8 голосов
/ 29 сентября 2010

WM_SIZE и WM_SIZING не являются командами, это уведомления, отправленные SetWindowPlacement. Вы можете использовать этот или любой другой доступный API, включая SetWindowPos и MoveWindow.

0 голосов
/ 29 сентября 2010

Я пытаюсь:

в .h:

#define WM_RESIZEMESSAGE        (WM_USER+1)
void ResizeHandler (WPARAM wParam, LPARAM lParam);

в .cpp:

ON_MESSAGE (WM_RESIZEMESSAGE, ResizeHandler )

void CTestClass::ResizeHandler (WPARAM wParam, LPARAM lParam)
{
  int x = 100; //--> desired size
  int y = 100; //-->desired size
  MoveWindow(0, 0, x, y, TRUE); //->Move window

}

Приведенный выше код может быть не так, как вы хотите, потому что яМне не ясно, какое окно вы хотели бы изменить размер, и вызывает изменение размера из другого класса или что ...

Я просто предлагаю использовать MoveWindow (), если вы не хотите использовать SetWindowPos ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...