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

Вниз

Не ловится событие от колеса мыши   Найти похожие ветки 

 
pasha_golub ©   (2005-09-02 14:03) [0]


procedure TForm.FormMouseWheel(Sender: TObject;
 Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
 var Handled: Boolean);
begin
  Dialogs.ShowMessage("!");
end;


Не работает. У parent"ов не объявлено обработчиков. При компиляции помечается, как доступный код.

При тесте, ничего не происходит.

Можно конечно поймать через обработку оконных сообщений, но интересен вопрос: "А что не так?".

Спасибо


 
pasha_golub ©   (2005-09-02 14:15) [1]

Прошу, прощения. На форме динамически создавался контрол и растягивался на весь размер. От того и не ловилось.

Можно удалить.


 
Digitman ©   (2005-09-02 14:16) [2]

не знаю ... у меня все расчудесно "ловится" .. на "чистой" форме в "чистом" проекте


> У parent"ов не объявлено обработчиков


а может ты в Application.OnMessage что-либо непотребное творишь ?


 
Barloggg   (2005-09-20 15:27) [3]

Да, а какое сообщение надо поймать, чтобы обработать именно поворот колеса мыши?
WM_MouseWheel отображает только нажатие колеса, но никак не поворот. Где это ловится?


 
BFG9k ©   (2005-09-20 20:53) [4]

WM_MouseWheel - сообщение именно поворота колеса мыши. Если обработчик пренадлежит главной форме, то поворот колеса мыши ловится отовсюду. Если же нет, то до обработчика дело не доходит. Зачем так сделано, остается только догадываться.

Ответ читатйте здесь : http://delphimaster.net/view/1-1127207851/


 
Barloggg   (2005-09-21 12:19) [5]

O! Это может помочь, спасибо.

Когда я пробовал что-то сделать через голое WinAPI в получаемое WM_MouseWheel означало лишь нажатие колеса...


 
BFG9k ©   (2005-09-22 17:41) [6]


> Когда я пробовал что-то сделать через голое WinAPI в получаемое
> WM_MouseWheel означало лишь нажатие колеса


Вранье! :)

P.S.: Там по ссылке - ApplicationEvents - мощная вещь, как раз то что надо.


 
y-soft ©   (2005-09-22 20:55) [7]

В старых версиях Windows (до Win98) WM_MOUSEWHEEL действительно не работало, там необходимо обрабатывать другое сообщение:

Windows 95, Windows NT 3.51: Support for the mouse wheel is provided through a separately-running module, MSWheel, that generates a MSH_MOUSEWHEEL message. The MSWheel module, which consists of MSWheel.exe and MSWheel.dll, is installed with the IntelliPoint software that is shipped with the IntelliMouse® pointing device. In addition, MSH_MOUSEWHEEL is defined in the header file (ZMouse.h) that an application must use to implement support for the wheel via the MSWheel module.

MSH_MOUSEWHEEL
zDelta = (int) wParam; // wheel rotation
xPos = LOWORD(lParam); // horizontal position of pointer
yPos = HIWORD(lParam); // vertical position of pointer
Note, there is no fwKeys for MSH_MOUSEWHEEL. Otherwise, the parameters are exactly the same as for WM_MOUSEWHEEL.

It is up to the application to forward MSH_MOUSEWHEEL to any embedded objects or controls. The application is required to send the message to an active embedded OLE application. It is optional that the application sends it to a wheel-enabled control with focus. If the application does send the message to a control, it can check the return value to see if the message was processed. Controls are required to return a value of TRUE if they process the message.



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
3-1125579072
Андрей Жук
2005-09-01 16:51
2005.10.16
Индексы по выражениям в Firebird


5-1103275206
VIS
2004-12-17 12:20
2005.10.16
Свойство фонт в меню


14-1127322990
Сергей_Т
2005-09-21 21:16
2005.10.16
Процедура выезда в Европу по приглашению


10-1105790489
aus
2005-01-15 15:01
2005.10.16
Symantec Antivirus Server


2-1126872993
out
2005-09-16 16:16
2005.10.16
DBGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский