Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];

Вниз

Вопрос для мастеров...   Найти похожие ветки 

 
Man-In-Red   (2002-06-25 20:00) [0]

Как узнать, что колесико мышки крутиться вверх или вниз, независимо от того, на каком компоненте находится фокус? И как обрабатывать эти события?


 
Niko.   (2002-06-25 20:40) [1]

перехватывай сообщение WM_MOUSEWHEEL


 
Man-In-Red   (2002-06-25 21:43) [2]

А можно поподробней или пример?
Буду очень благодарен!


 
Anatoly Podgoretsky   (2002-06-25 21:52) [3]

Колесико у мышки не крутится вниз/вверх, а от тебя или к тебе, подробности об этом смотри в хелпе по сообщению WM_MOUSEWHEEL


 
Man-In-Red   (2002-06-25 23:30) [4]

Буду знать… а в хелпе ничего нету :(
Помогите пожалуйста!


 
Юрий Зотов   (2002-06-25 23:49) [5]

> а в хелпе ничего нету
Неправда. Только что смотрел - есть.

> независимо от того, на каком компоненте находится фокус?
Вообще-то, мышь и клавиатура - вещи разные, твк что фокус здесь ни при чем. Либо сажайте хук, либо назначайте всем контролам один и тот же обработчик OnMouseWheel, а в нем уже разруливайте.




 
Anatoly Podgoretsky   (2002-06-25 23:58) [6]

Man-In-Red © (25.06.02 23:30)
Есть и очень подробный, настолько что вопросов не возникает.


 
Man-In-Red   (2002-06-26 02:25) [7]


> Есть и очень подробный, настолько что вопросов не возникает.

Но где? Весь хелп перерыл – не нашел :(
Может плохо искал?
Напишите пожалуйста что там в этом хелпе сказано…буду очень благодарен!


 
rhf   (2002-06-26 05:28) [8]

а у тя какая Дельфя стоит?
и где ты искал.......в SDK все есть.


 
Man-In-Red   (2002-06-26 12:02) [9]

Delphi5,
SDK-???


 
vinrom   (2002-06-26 15:16) [10]

MS SDK Help. А вообще, лучше MSDN ничего нет


 
Anatoly Podgoretsky   (2002-06-26 16:05) [11]

Явно не в том хелпе ищешь, ради интереса посмотри папки
{Delphi}\Help
C:\Program Files\Common Files\Borland Shared\MSHelp
будешь удивлен, но и без этого - меню Help третий сверху пункт
Если же ты не установил хелпы, то переинсталируй Дельфи


 
Man-In-Red   (2002-06-26 16:40) [12]

Нашел… Но, там написано что только для Win NT!
А мне нужно 9x…
Так как быть?


 
rhf   (2002-06-26 16:54) [13]

у меня под рукой сейчас нет хелпов......

но там случайно не <Now supported on Windows NT> написано :)
если так то это вовсе не значит что он под win9x не работает :)


 
Man-In-Red   (2002-06-26 17:09) [14]

Там написано:
[New - Windows NT]

Windows NT---------Yes
Windows 95---------No
Windows 32s--------No


 
Anatoly Podgoretsky   (2002-06-26 17:17) [15]

Man-In-Red © (26.06.02 16:40)
Ты ничего про 9x не говорил, да когда разрабатывался 95 таких мышей не было, не говоря уже про Windows 32s


 
rhf   (2002-06-26 17:33) [16]

я на msdn.microsoft.com глянул .... вроде сказано - Included in Windows 98, Windows NT 4.0

но точно не могу говорить..... нету рядом родимой делфи...

:)


 
Man-In-Red   (2002-06-26 18:46) [17]


> Anatoly Podgoretsky © (26.06.02 17:17)
> Man-In-Red © (26.06.02 16:40)
> Ты ничего про 9x не говорил, да когда разрабатывался 95
> таких мышей не было, не говоря уже про Windows 32s

А Windows 98, Win Me! Тогда уже были мышки на колесах…

Так есть какой-нибудь способ решить этот вопрос?


 
Man-In-Red   (2002-06-26 20:20) [18]

???


 
rhf   (2002-06-26 20:34) [19]

ну так ты поробовал то, что в хелпе или как?


 
Anatoly Podgoretsky   (2002-06-26 20:34) [20]

Так ты просто проверь, попробуй поймать это сообщение, кстати надо точнее задавать вопрос, теперь у тебя выползли Windows 98, Win Me, я уже даже боюсь что либо говорить, вдруг еще что выползет :-)


 
Cobalt   (2002-06-26 21:03) [21]

>Anatoly Podgoretsky © (26.06.02 16:05)
>будешь удивлен, но и без этого - меню Help третий сверху пункт
У меня Дельфи 4, SDK поставил, но "меню Help третий сверху пункт" - Inprise Home Page ;))


 
Юрий Зотов   (2002-06-26 23:42) [22]

Цитата из MSDN (описание WM_MOUSEWHEEL):

Requirements:
Windows NT/2000 or later: Requires Windows NT 4.0 or later.
Windows 95/98/Me: Requires Windows 98 or later.

То есть, будет работать под всеми Win32, кроме NT 3.51 и Win95. Осталось только найти того, у кого они еще остались.


 
Man-In-Red   (2002-06-27 00:28) [23]

Допустим… Теперь главный вопрос :)
Как пользоваться этим самым WM_MOUSEWHEEL?
Хелп мне ничего не говорит…
Может примерчик у кого есть?


 
Юрий Зотов   (2002-06-27 00:32) [24]

В хелпе Delphi есть описание события OnMouseWheel. Там все и сказано, очень подробно. И все то же самое подходит к сообщению WM_MOUSEWHEEL.


 
rhf   (2002-06-27 00:39) [25]

кусок с msdn.microsoft.com
....
wParam
The high-order word indicates the distance the wheel is rotated, expressed in multiples or divisions of WHEEL_DELTA, which is 120. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user.


 
rhf   (2002-06-27 00:50) [26]

2 Man-In-Red


procedure WMMouseWheel( var msg:tMessage);message WM_MOUSEWHEEL;
.....

procedure form1.WMMouseWheel( var msg:tMessage);
begin
if msg.wparamHi>0 then showMessage("Вверх")
else showMessage("Вниз");
end;


наверное так.... вот только мне проверить не начем :)
есть тут Delphi3 вот только ей такие дела еще не известны :D


 
Balu   (2002-06-27 12:27) [27]

У меня, почемуто только так забегало:
if msg.wparamHi<121 then Label1.Caption := "Вверх"
else Label1.Caption := "Вниз";


 
MAN-IN-RED   (2002-06-27 18:56) [28]

Всем большое спасибо… Вопрос закрыт!


 
Man-In-Red   (2002-06-27 19:21) [29]

Вопрос открыт :)
Как сделать чтобы она работала на всех формах?


 
rhf   (2002-06-27 19:51) [30]

поточнее........


 
Anatoly Podgoretsky   (2002-06-27 21:15) [31]

Cobalt © (26.06.02 21:03)
Ну о тебе речи нет, я думаю ты бы указал используемую версию Дельфи, не так ли?


 
Man-In-Red   (2002-06-28 02:08) [32]

Может быть...Выше я уже писал какая делфя стоит - Delphi5!
А поточнее - Эта процедура работает только если активна форма в которой она прописана… А как сделать чтобы она работала независимо от того какая в данный момент открыта форма?!


 
rhf   (2002-06-28 09:02) [33]

ты имеешь в виду независимо от активного приложения..... или это у тебя в проекте форм много?


 
Man-In-Red   (2002-06-28 13:41) [34]


> ты имеешь в виду независимо от активного приложения.....
> или это у тебя в проекте форм много?

В проекте форм много...
Заранее благодарен!


 
rhf   (2002-06-28 16:06) [35]

форм много....
попробуй application.onMessage или хук поставь, это вроде будет локальный можно и без длл обойтись......



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

Форум: "Система";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.007 c
6-27131
Fenix
2002-06-22 09:57
2002.09.09
ip или host


3-26858
Igr
2002-08-19 11:12
2002.09.09
Sql и независимость от регистра символов


4-27269
stainer
2002-07-18 14:38
2002.09.09
Обои рабочего стола


3-26864
Slava_BAZ
2002-08-19 13:52
2002.09.09
Блокировка таблиц и записей


14-27164
Лана Розанова
2002-08-13 16:55
2002.09.09
Digitman-чик





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский