Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TrackBar и определенный шаг


Автор: Igor_thief 30.5.2007, 16:03
Как сделать чтобы при перемещении ползунка TrackBar 'a мышью значение менялось с определенным шагом? Шаг например 9.

Автор: Yanis 30.5.2007, 17:50
OnChange
Код
  if TrackBar1.Position mod 9 > 0 then
    TrackBar1.Position := TrackBar1.Position - (TrackBar1.Position mod 9);

Автор: Igor_thief 31.5.2007, 10:43
Цитата(Yanis @ 30.5.2007,  16:50)
OnChange
Код
  if TrackBar1.Position mod 9 > 0 then
    TrackBar1.Position := TrackBar1.Position - (TrackBar1.Position mod 9);

Да, я тоже придумал нечто такое. Жаль есть один недостаток. Подвигаешь мышку чуть-чуть, каретка сдвигается на 9 пунктиков, а вот указатель мышки так и остается на своем прежнем месте :(

Автор: Igor_thief 31.5.2007, 21:38
Хм... Появилась идея. Надо взять и сделать наследника от TTrackBar. Добавить события OnMouseDown и OnMouseUp и в них реализовать несложную логику. Проблема остается за одним. Как определить что пользователь нажал мышкой именно на ползунок?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)