Блог О пользователеviewcode

Регистрация

 

Как перемещать форму за любой компонент в Delphi?


Сегодня я расскажу как можно двигать форму за любой её компонент. Порой бывает, что границы формы при разработке приложения необходимо скрыть и замостить форму каким-нибудь изображением. Так вот, чтобы эта форма была подвижной, нужно перемещать её за это изображение. Так вот, ради примера и возьмём этот случай!
Код будет очень коротким. Прописываем для события MouseDown:
procedure TFMain.Image3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
  const sc_dragmove = $f012;
begin
  releasecapture;
  FMain.perform(wm_syscommand, sc_dragmove, 0);
end;

Ну вот собственно и всё. Теперь за это изображение можно перетаскивать форму. Кстати, таким же способом можно перемещать по форме любой компонент. Только в этом случае нужно вместо FMain.perfom() нужно написать Имя_компонента.perfom(). Тогда этот компонент будет перемещаться мышкой по форме. Всё просто!


Для ответа с цитированием необходимо
выделить часть текста исходной записи