Главная страница
    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.039 c
2-1126615595
календарь1
2005-09-13 16:46
2005.10.16
Вопрос по датам


2-1125092597
ronyn
2005-08-27 01:43
2005.10.16
Как в Делфе анимацию типа *.gif реализовать?


8-1116755107
MACTEP'oK
2005-05-22 13:45
2005.10.16
DirectSound. Проблема с записью длительного звукового потока .


14-1127466173
stone
2005-09-23 13:02
2005.10.16
Трудности перевода или давайте говорить по-русски


4-1123746773
BPK
2005-08-11 11:52
2005.10.16
WM_SHOWWINDOW работает не так, как хочется





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