![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TrackBar [D7]
Oddin © (2005-01-22 00:04:00)Вопрос значит такой. Есть 2 TrackBar'a и CheckBox нужно изменяя позицию любого из 2х TrackBar'ов если CheckBox.Cheked изменить позцию другого, сделать чтобы оба TrackBar'a передвигались одновременно в независимости от того какой из TrackBar'ов в данный момент меняет позицию. Заранее спасибо.
Jel (2005-01-22 02:14:00) [1]
> А что значит Sender as TTrackBar?
Это приведение типов. Не поленись, загляни в спраку, там это описано довольно подробно.
> Нужно меняя позицию trackbar2 изменить позицию TrackBar1
> с неизвестным значением TrackBar1.Мах
Если Max у обоих равны - будут равны и визуальные положения слайдеров при одинаковом Position. Если нет - нужно пересчитывать и зменять пропорционально. Если я правильно понял что ты хочешь получить.
oddin (2005-01-22 01:18:00) [2]А если так: значение TrackBar1.Мах 1го TrackBar'a неизвестно или постоянно меняется но это можно решить так trackbar1.Max := trackbar2.Maxили как то подругому. Нужно меняя позицию trackbar2 изменить позицию TrackBar1 с неизвестным значением TrackBar1.Мах
Oddin (2005-01-22 00:49:00) [3]А что значит Sender as TTrackBar?
Jel (2005-01-22 00:45:00) [4]
> olookin © (22.01.05 00:36) [1]
Твой вариант красивее. :)
Jel (2005-01-22 00:37:00) [5]Можно попробовать так. Обоим TrackBar-ам назначить один обработчик OnChange. В нем написать:
If CheckBox1.Checked then begin
if Sender = TrackBar1 then
TrackBar2.Position := TrackBar1.Position
else
TrackBar1.Position := TrackBar2.Position;
end;
Не слишком красиво, но работает. :)
olookin (2005-01-22 00:36:00) [6]в TrackBar1.OnChange
if CheckBox1.Checked then begin
TrackBar1.Position:=(Sender as TTrackBar).Position;
TrackBar2.Position:=(Sender as TTrackBar).Position;
end;
Так?