Вниз
Скачать: CL | DM;

Как заставить приложение реагировать на Колесико мышки... )   Найти похожие ветки 

← →
Алексей С.   (2007-01-30 21:47) [0]

Весь вопрос в теме.
Заранее спасибо!


← →
Olivetti   (2007-01-30 21:59) [1]

Оно реагирует.


← →
unknown ©   (2007-01-30 22:00) [2]

type
 TForm1 = class (TForm)
   procedure Wheel(var Message  : TMessage); message WM_MOUSEWHEEL;
 end;

var
 Form1  : TForm1;

implementation

{$R *.dfm}

procedure TForm1.WHEEL(var Message  : TMessage);
begin
 Caption := IntToStr(TWMMouseWheel(Message).YPos);
end;


← →
Алексей С.   (2007-01-30 22:43) [3]

Спасибо!


← →
Алексей С.   (2007-01-30 22:50) [4]

Только вот один момент: данная процедура выдает результат текущее положени У на момент прокрутки колеса, а вот КАК узнать куда было прокручено колесо вперед или назад ???


← →
Olivetti   (2007-01-30 22:55) [5]

TWMMouseWheel(Message).WheelDelta


← →
Olivetti   (2007-01-30 22:56) [6]

И, эта... inherited


← →
Efir   (2007-01-30 22:58) [7]


> Только вот один момент: данная процедура выдает результат
> текущее положени У на момент прокрутки колеса, а вот КАК
> узнать куда было прокручено колесо вперед или назад ???


Ну дык зная предыдущее значение.


← →
Алексей С.   (2007-01-30 22:59) [8]

Спасибо, вопрос снят. Задача решена. Пусть я до конца не разобрался... но вопросов пока нет. Всем Спасибо!


← →
Olivetti   (2007-01-30 23:00) [9]

Ну дык зная предыдущее значение.

YPos - это положение курсора мыши относительно окна.
Казалось бы, при чем тут колесико?


← →
Olivetti   (2007-01-30 23:10) [10]

Пусть я до конца не разобрался...

type
 TForm1 = class(TForm)
 private
   procedure MouseWheel(var Msg: TWMMouseWheel); message WM_MOUSEWHEEL; // 1
 end;

procedure TForm1.MouseWheel(var Msg: TWMMouseWheel);
begin
 Caption := IntToStr(Msg.WheelDelta);
end;


Пояснения:

Сообщения ОС передаются в оконную функцию окна, которое же - форма. Строка 1 декларирует метод-обрабочик сообщения от колесика мыши. WM_MOUSEWHHEL - константа, определяющая номер сообщения (все сообщения пронумерованы), и, при поступлении сообщения с этим номером, будет вызван этот метод-обработчик. В качестве параметра все методы-обработчики принимают типовую запись с параметрами сообщения (TWMMouseWheel - по размеру и некоторым полям полностью соответствует TMessage, а кое-где, типа, отличается). В этой записи хранится сопутствующая информация. Расположение данных в записи, ясное дело, зависит от номера сообщения. В обработчике (в примере) из записи извлекаются необходимые данные и выводятся в заголовок формы. Потом еще вызывается унаследованный обработчик. А, еще в записи можно вернуть результат обработки сообщения. Типа как-то так...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
15-1169918975
Zeqfreed
2007-01-27 20:29
2007.02.18
Кто желал голосовой поисковик музыки?


2-1170271927
Monty
2007-01-31 22:32
2007.02.18
Помогите с шифратором(запись и чтение из файла)


15-1169890007
Хеад
2007-01-27 12:26
2007.02.18
Запись в ini-файл ShortCut данные


15-1170162022
Vlad Oshin
2007-01-30 16:00
2007.02.18
Что-то с helpом моим стало. То что задал поискать - не ищет...


2-1170176412
NikNet
2007-01-30 20:00
2007.02.18
Фильтровать поле, Без разницы на SQL или на DELPHI




   Наверх