Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как определить окончание изменения размеров формы


Автор: Нитонисе 30.1.2011, 19:37
На форме расположен компонент Image, где отрисовывается много всего. При изменении размеров формы - все содержимое перерисовывается под новый масштаб. Так как содержимого много, то процесс изменения размеров формы получается "дерганым", а не плавным. Хотелось бы иметь возможность менять размеры формы спокойно без перерисовки содержимого, а запускать перерисовку только в момент, когда пользователь закончил изменение размеров окна, то есть отпустил кнопку мыши. 
Как уловить этот момент?

Автор: Dem_max 31.1.2011, 05:32
WM_LBUTTONUP ?????????

Автор: Нитонисе 31.1.2011, 11:34
Цитата(Dem_max @ 31.1.2011,  05:32)
WM_LBUTTONUP ?????????

Дело в том, что я с сообщениями виндовс практически не знаком и не знаю как их применять. Как это сообщение использовать практически?

Автор: Dem_max 31.1.2011, 13:37
как то так
Код

.....................................................................
private:    // User declarations
    void __fastcall EnterSizeMove(TMessage& Msg);
    void __fastcall ExitSizeMove(TMessage& Msg);
          BEGIN_MESSAGE_MAP
          VCL_MESSAGE_HANDLER(WM_ENTERSIZEMOVE, TMessage, EnterSizeMove)
          VCL_MESSAGE_HANDLER(WM_EXITSIZEMOVE, TMessage, ExitSizeMove)
          END_MESSAGE_MAP(TForm)
.....................................................


Код

void __fastcall TForm1::EnterSizeMove(TMessage& Msg)
{
    // Вы хотите изменить размер окна
}

void __fastcall TForm1::ExitSizeMove(TMessage& Msg)
{
    // Вы закончили изменение размера окна
}

Автор: Ma_s_ik 15.9.2013, 21:05
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)