Последние записи
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
- wprintf как напечатать кириллицу
- Взаимодействие через командную строку
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
19th
Июл
Перемещение TImage по форме. Как это сделать?
Posted by Chas under Топик-обзор
dmitriegorovih:
Значит у меня Delphi 7
кидаем на форму image1 и кнопку, чтоб создавались image(ы)
во “всеобщий var” пишем следующиеvar
x2,y2,n:integer;
nagata:boolean;в обработчике onmousedown пишем следующие
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
nagata:=true;
x2:=x;
y2:=y;
end;в обработчике onMouseMove пишем следующие
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if nagata=true then begin
if xx2 then begin
Timage(sender).Left:=Timage(sender).Left+(x-x2)
end;
if yy2 then begin
Timage(sender).Top:=Timage(sender).Top+(y-y2)
end;
end;
end;в обработчике onMouseUp пишем следующие
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
nagata:=false;
end;по нажатию кнопки пишем следующие
procedure TForm1.Button1Click(Sender: TObject);
Var K:Timage;
Begin
K:=Timage.create(self);
k.parent:=self;
k.picture:=image1.picture;
k.onMouseMove:=image1.onMouseMove;
k.onMouseDown:=image1. onMouseDown;
k.onMouseUp:=image1.onMouseUp;
k.name:=’Image_’+inttostr(n);
inc(n);
end;
Ещё один способ:
Кидаем на форму TPanel На нее кидаем TImage, и расстягиваем Image на AlClient чтоб оно заполнило всю панель.
Далее в в обработчике зажатия мышки для Image пишем:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const Sc_dragmove = $F012;
begin
ReleaseCapture;
Panel1.Perform(WM_SYSCOMMAND, Sc_dragmove, 0);
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)