![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите, как отловить прокрутку на мыши?
mmms © (2006-06-13 22:26:00)Можно просто какие сообщения нужно отлавливать, остальное думаю разберусь :) Заранее благодарю.
mmms (2006-06-14 13:13:00) [1]Сделать получилось :)
А ещё можно вопрос :)
Если элементы на ScrollBox, то если фокус входит в любой элемент, код перестаёт работать, можно код подправить так, чтобы скрол на ScrollBox1 работал не зависимо, где фокус на этом ScrollBox1 (т.е. на ScrollBox1 - Edit например, если туда установить курсор, то скрол не работает..)
procedure Tfmain.WMMOUSEWHEEL(var Message: TMessage);
begin
with ScrollBox1.VertScrollBar do
begin
if Message.WParam<0
then
Position := Position + Increment
else
Position := Position - Increment;
inherited;
end;
end;
Eraser (2006-06-13 22:57:00) [2]
> mmms (13.06.06 22:26)
а зачем сообщения? всё уже перехвачено до нас, см. событие OnMouseWheel.
Если уж очень хочется перехватывать сообщения, то см. WM_MOUSEWHEEL.
mmms (2006-06-13 22:29:00) [3]ой, вроде уже нарыл :)
function GetNumScrollLines: Integer;
begin
SystemParametersInfo(SPI_GETWHEELSCROLLLINES, 0, @Result, 0);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(GetNumScrollLines));
end;