Сегодня я расскажу как можно двигать форму за любой её компонент. Порой бывает, что границы формы при разработке приложения необходимо скрыть и замостить форму каким-нибудь изображением. Так вот, чтобы эта форма была подвижной, нужно перемещать её за это изображение. Так вот, ради примера и возьмём этот случай!
Код будет очень коротким. Прописываем для события MouseDown:
Ну вот собственно и всё. Теперь за это изображение можно перетаскивать форму. Кстати, таким же способом можно перемещать по форме любой компонент. Только в этом случае нужно вместо FMain.perfom() нужно написать Имя_компонента.perfom(). Тогда этот компонент будет перемещаться мышкой по форме. Всё просто!
Код будет очень коротким. Прописываем для события 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(). Тогда этот компонент будет перемещаться мышкой по форме. Всё просто!

