Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2010, 05:31   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию Сдвинуть прямоугольник по нажатию на кнопку

Сабж. Хотел сделать так:
Код:
//рисование прямоугольника
procedure TForm1.Button2Click(Sender: TObject);
begin
 Form1.Image2.Canvas.Font.Color:=clWhite;
 Form1.Image2.Canvas.Brush.Color:=clWhite;
 Form1.Image2.Canvas.Rectangle(90,200,600,90);
end;

//движение прямоугольника
procedure TForm1.BtnRightClick(Sender: TObject);
const
 step = 10;
begin
 Form1.Image2.Canvas.Rectangle(90 + step,200,600,90);
end;
не работает. Как надо сделать, чтобы по нажатию на кнопку прямоугольник сдвигался на значение в step?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.09.2010, 05:36   #2
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Код:
Form1.Image2.Canvas.Rectangle(90 + step,200,600 + step,90);
о_О
Если вам нужно, чтобы прямоугольник двигался по Image, то нужно очищать Image и перерисовывать прямоугольник в другом месте.
А чтобы прямоугольник двигался нужно увеличивать координаты:
Код:
X1:=X1+step;
X2:=X2+step;
Form1.Image2.Canvas.Rectangle(X1,200,X2,90);
PS: X1 и X2 - глобальные переменные.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 21.09.2010 в 05:40.
Sparkman вне форума Ответить с цитированием
Старый 21.09.2010, 05:59   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

А в Х1 и Х2 какие значения передавать?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.09.2010, 07:27   #4
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А в Х1 и Х2 какие значения передавать?
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 X1:=90;
 X2:=600;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Form1.Image2.Canvas.Font.Color:=clWhite;
 Form1.Image2.Canvas.Brush.Color:=clWhite;
 X1:=X1+step;
 X2:=X2+step;
 Form1.Image2.Canvas.Rectangle(X1,200,X2,90);
end;
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.

Последний раз редактировалось Sparkman; 21.09.2010 в 09:15.
Sparkman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вводить цифры в эдит контрол и они должны по нажатию на кнопку переводится в листбокс molo4nik Общие вопросы C/C++ 12 09.12.2011 22:53
Редактирование данных, по нажатию на кнопку "Отмена" Droid БД в Delphi 4 13.03.2010 01:38
Показать ADOConnection1.Connectionstring по нажатию на кнопку hitch1 БД в Delphi 9 07.12.2009 17:44
Как закрыть MDIChild форму по нажатию на кнопку AndreyF Общие вопросы Delphi 4 11.07.2009 16:26
по нажатию на кнопку вызвать другой фаил с расширением exe который находится в той же папке 1234 Общие вопросы Delphi 3 05.08.2008 12:32