![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь Подтвердите свой е-майл
Регистрация: 24.10.2007
Сообщений: 36
|
![]()
1
В моей программе при щелчке по изображению происходит перемещение линии на один пиксел вверх (и так 400 раз). Код:
2 Хотел использовать вместо изображения кнопку SpeedButton, но в сети ничего конкретного по её применению не нашёл (всё поверхностно, типа "а вот ещё есть такая кнопка..."). Есть у кого ссылка на пример, а лучше описание работы со SpeedButton-ом? Или код с её использованием? |
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
1. Производите обработку событий OnMouseDown/OnMouseUp.
По MouseDown запускайте таймер (если вам нужен интервал между сдвигами линии, в этом случае по MouseUp таймер останавливаете) или просто выполняйте в цикле процедуру сдвига. 2. Не понял про SpeedButton. Вы ее хотите использовать в качестве объекта для нажимания мышкой вместо картинки в первом примере? Тогда в чем трудность? Далее. Не понял смысла ваших 400 строк: Код:
Код:
Я уже не говорю о том, что здесь, скорее всего, должен быть (а может и вовсе не нужен) простенький цикл. Последний раз редактировалось mihali4; 11.11.2007 в 18:11. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 01.09.2007
Сообщений: 747
|
![]()
(Пока я тут думал, меня уже опередили
![]() Думаю здесь нужно делать через таймер. В таймер надо засунуть процедуру перемещения линии, не забыть настроить интервал (в милесекундах). События кнопок, которые нужно использовать onMouseDown (нажатие мыша) и онМоусАп (отпускание мыша) в них записать процедуры активации и деактивации таймера Код procedure TForm1.SpeedButton1MouseDown(Sender : TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin timer1.Enabled:=true; end; procedure TForm1.SpeedButton1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin timer1.Enabled:=false; end;
Никому не верьте.
Последний раз редактировалось Rapid; 11.11.2007 в 18:17. |
![]() |
![]() |
![]() |
#4 | |||
Пользователь Подтвердите свой е-майл
Регистрация: 24.10.2007
Сообщений: 36
|
![]() Цитата:
Цитата:
![]() А смысл 400 строк в том, сначала считывается с ини-файла график, а потом возможно будет необходимость просмотреть какой точке какое значение соответствует (я первый раз сделал вообще через одну переменную и почти в две строки, а потом задал вопрос на этом форуме, можно ли считать координаты точек по уже нарисованному, но это оказалось геморойнее, чем ввести 400 переменных. Тем более, возможно в последствии будет реализована идея построения графика прямо в моей программе, используя "мастер-точки" и разные виды интерполяции между ними) Цитата:
|
|||
![]() |
![]() |
![]() |
#5 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
И вместо ваших 400 строк ничего не надо будет. Будет просто Label13.Caption :=IntToStr(point) ; Label14.Caption :=IntToStr(massiv[point]); |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пара вопросов | [Smarik] | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 18.04.2008 14:28 |
Пара вопросов... | ~N@um~ | Помощь студентам | 6 | 14.07.2007 09:49 |
Пара вопросов. | Kukkk | Общие вопросы Delphi | 5 | 03.07.2007 11:40 |
Пара вопросов | xak2 | Общие вопросы Delphi | 6 | 08.05.2007 20:58 |
пара вопросов | Trooper | Общие вопросы Delphi | 3 | 05.11.2006 17:56 |