Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

колесо и TrackBar [Delphi, Windows]


robt ©   (2007-06-26 13:16:00) 

по умолчанию горизонтальный TrackBar реагирует на колесо
мыши задом на перед: вверх-влево , вниз-вправо
хотя логично делать наоборот.
а нужно "правильно" с заданным шагом
если использовать OnMouseWell то происходит двойное изменение
позиции сначала "системный задом-наперед" а потом OnMouseWell

как не дать ему обрабатывать колесо в обход OnMouseWell


Robt   (2007-06-26 19:23:00) [1]

ЫЫЫ :) Handling...

чота я туплю :(

спасиба большое !


Vladimir Kladov   (2007-06-26 17:17:00) [2]

Посмотрел :)

Вертится как раз туда, куда надо. Попробуйте опцию trbVertical включить:
колесо от себя - влево/вверх, к себе - вправо/вниз. Очень даже логично.

Если очень хочется наоборот, вот код:

procedure TForm1.TrackBar1MouseWheel(Sender: PControl;
 var Mouse: TMouseEventData);
begin
 if Integer( Mouse.Shift ) < 0 then
   TrackBar1.Position := TrackBar1.Position - 1
 else
   TrackBar1.Position := TrackBar1.Position + 1;
 Mouse.StopHandling := TRUE;
end;


Vladimir Kladov   (2007-06-26 16:10:00) [3]

Может, проще ему логическое направление попробовать поменять. Сейчас погляжу, что можно поделать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо