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

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

Колесико мышки [D7, XP]


D@Nger ©   (2007-01-11 12:50:00) 

Здравствуйте мастера! У меня на главной форме расположены в один столбик 12 кнопок. TabOrder у кнопок установлены с 1 по 12 с верху вниз. Я хочу при помощи колйсика мышки перемещаться по кнопкам. Я это реализовал, может быть не оптимально, но это работает, но фокус перемещается через одну. Мне кажется что событие формы OnMouseWheelDown и OnMouseWheelUp вызывается 2 раза за один шаг колесика. Никак не могу побороть это. Помогите!


d@nger   (2007-01-11 14:00:00) [1]

ааааа...понял...просто в третьем параметре 1 вместо 0 поставил....:)) Еще раз большое спасибо!!! я еще в API не сильно разбираюсь..


Джо   (2007-01-11 13:55:00) [2]

> [4] d@nger ©   (11.01.07 13:53)
> Спасибо!!! Работает!!! а какой message надо посылать чтобы
> перейти к предыдущему контролу? Я подумал, что wm_priordlgctl,
> но такого нет....

Много думать вредно.
Нужно справку почитать и все.


d@nger   (2007-01-11 13:53:00) [3]

Спасибо!!! Работает!!! а какой message надо посылать чтобы перейти к предыдущему контролу? Я подумал, что wm_priordlgctl, но такого нет....


Джо   (2007-01-11 13:25:00) [4]

procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
 MousePos: TPoint; var Handled: Boolean);
begin
 PostMessage (Handle, WM_NEXTDLGCTL,0,0);
 Handled := True
end;

Вот и весь код. Для WheelUp — аналогично.


d@nger   (2007-01-11 13:11:00) [5]

Точно...я проверил..события OnMouseWheelDown и OnMouseWheelUp вызываются 2 раза.


Правильный Вася   (2007-01-11 13:06:00) [6]

кажется?
а отладчик что говорит?


Наверх

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