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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 19:44   #1
JDel
Пользователь
 
Регистрация: 16.09.2011
Сообщений: 10
По умолчанию Перемещение компонента влево-вправо

Как реализовать перемещение строго влево-вправо, удерживая кнопку мыши? При этом соответственно если мышь (курсор), идет влево, то и компонент должен идти влево и наоборот.
JDel вне форума Ответить с цитированием
Старый 08.12.2011, 00:50   #2
Willer55
Пользователь
 
Регистрация: 17.08.2011
Сообщений: 35
По умолчанию

Ставишь флаг на событие onMouseDown (нажатие кнопки мыши). В onMouseMove проверяешь если "у" меньше чем предыдущий тогда уменьшаешь свойство Left у компонента и если "у" больше увеличиваешь Left. Он у тебя и будет двигаться.
Willer55 вне форума Ответить с цитированием
Старый 08.12.2011, 08:28   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Тогда уж и OnMouseUp добавить, где снимать флаг (var flag : boolean;- объявление и flag := false;- снятие флага)
phomm вне форума Ответить с цитированием
Старый 20.12.2011, 00:05   #4
werter13(vao73)
Новичок
Джуниор
 
Регистрация: 04.07.2011
Сообщений: 2
По умолчанию Где-то вот так...

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
flag:=True;Xs:=X;
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
flag:=False;Edit3.Text:='';
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if flag=True then
begin
Edit1.Text:=IntToStr(X);
Edit2.Text:=IntToStr(Y);
if Xs>X then
begin
Edit3.Text:='влево';
end
else
begin
Edit3.Text:='вправо';
end;
end;
Xs:=X;
end;
Вложения
Тип файла: rar Rotor.rar (1.95 Мб, 15 просмотров)
werter13(vao73) вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать циклический сдвиг в массиве на к елементов вправо и влево на язеке с++???? zvir Общие вопросы C/C++ 7 13.11.2012 03:37
Нарисовать человечка, движением которого вправо и влево можно управлять клавиатурой (Паскаль) GreenDay Помощь студентам 5 17.02.2011 20:12
Движение влево вправо X@OC Общие вопросы по Java, Java SE, Kotlin 2 11.01.2011 20:24
КАК повернуть матрицу на 90 градусов вправо (или влево). RomT24 Помощь студентам 15 09.12.2009 10:52
Заполнение матрицы по спирали (от центра влево-вниз-вправо-вверх) Баур Помощь студентам 4 03.12.2009 17:39