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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2009, 21:58   #1
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию Как сделать перемотку при нажатии на компонент ProgressBar??

Вот у меня есть вертикальный прогрессбар.как сделать чтобы при клике мыши позиция его перемещалась в указанное место??Идея с Top,Left помойму не подходит.Прогрессбар имеет непостоянное значение Мах,то есть оно изменяеться в хлде работы программы.Воть
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 17.07.2009, 22:08   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Идея с Top,Left помойму не подходит.Прогрессбар имеет непостоянное значение Мах,то есть оно изменяеться в хлде работы программы.
Причём тут Top и Left..?
А меняться должно не Мах, а Position...

Ну примерно как-то так...
Код:
Procedure TForm1.ProgressBar1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
Begin
ProgressBar1.Position:=Round(X*ProgressBar1.Max/ProgressBar1.Width);
End;
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 17.07.2009, 22:18   #3
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
Радость

Спасибо думаю сделаю
Токо че делает Round?
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 17.07.2009, 22:22   #4
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Position может быть только целым числом, а при делении может получиться дробное...
Round(x) - округляет аргумент...

Ну... Если точнее, это округление не математическое, а до ближайшего чётного числа...)
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 17.07.2009, 22:32   #5
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию

Большое СПС
Вот кому интересно что у меня вышло
sGauge1.Progress:=Round(abs(Y*sGaug e1.MaxValue/sGauge1.Height-sGauge1.MaxValue));
Ток это для Gauge
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 18.07.2009, 00:06   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,239
По умолчанию

Поищите, уже довали ПОДРОБНЫЕ ответы на форуме про это. Например вот http://www.programmersforum.ru/showt...ht=ProgressBar
Alter вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать, чтобы при нажатии на кнопку, сворачивалась активная дочерняя форма ActiveMDIChild? Иванесс Помощь студентам 2 01.03.2009 14:11
Как сделать так,чтобы при нажатии на кнопку выполнялась процедура? Bolgarin Общие вопросы Delphi 10 03.06.2008 23:48
как при нажатии на BUTTON сразу начала устанавливаться какая -нибудь инсталяшка? gotman Компоненты Delphi 5 04.09.2007 15:07
Как изменить текст сообщения при нажатии на кнопку? motaro Помощь студентам 2 14.07.2007 13:15
что нужно сделать, чтобы при нажатии кнопки запускалась процедура mager Общие вопросы Delphi 15 19.11.2006 15:02