Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизКак заставить приложение реагировать на Колесико мышки... ) Найти похожие ветки
← →
Алексей С. (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 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c