Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

WM_MouseWheel + MDI   Найти похожие ветки 

 
PVOzerski ©   (2002-12-25 22:49) [0]

Сейчас занялся отлавливанием багов программы, которую скоро сдавать,
наткнулся на глючок, требующий для своей ликвидации поотлавливать
работу колесика мыши. Прога MDI. Для начала сделал методы-заглушки begin end,
повесил их на сообщение WM_MouseWheel - одну - parent"у, другое - child"у.
Поставил в них по breakpoint"у. Запустил, покрутил колесиком... Результат удручающ:
breakpoint в child"е не срабатывает никогда, а в parent"е - только когда нет видимых
child"ов. Где копать, как лечить - ??? :^( Может, кто сталкивался с подобным?


 
Pat ©   (2002-12-26 00:57) [1]

Кажется сталкивался...
ApplicationEvents OnMessage:
if Msg.message=WM_MOUSEWHEEL then.....
Может быть поможет...


 
PVOzerski ©   (2002-12-26 10:19) [2]

Не помогает... А глючок такой: если открыто модальное окно (скажем, диалог открытия файла), а мышь находится над моей формой, то при движении колесиком форма выскаивает на передний план, модальное окошко прячется за ним, и пользователь остается перед формой, не реагирующей ни на клаву, ни на кнопки мыши. Если он опытный, он доберется до модального окна через Alt+Tab или таскбар (естественно, матерясь), а если совсем ламер...
Может, кто с таким боролся, поделится рецептом?


 
PVOzerski ©   (2002-12-26 13:13) [3]

Поделюсь собственным решением :^)

Перевел модальные диалоги в состояние "всегда верхнее") на этапе их onShow - диалоги открытия/закрытия файлов через
SetWindowPos(GetParent((Sender as tCommonDialog).handle),HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);

диалог выбора цвета - через
SetWindowPos((Sender as tCommonDialog).handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);

Так что кому надо - пользуйтесь.



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

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
7-25111
vidiv
2002-10-15 14:34
2003.01.09
MultiCast для NMUPD


1-24940
Def
2002-12-26 13:58
2003.01.09
Бегущая строка


1-24826
maxim2
2002-12-25 11:29
2003.01.09
Как воспроизвести речь


6-25003
vitnt
2002-11-11 06:48
2003.01.09
FTP компонент


1-24829
dRake
2002-12-27 11:59
2003.01.09
обнуление массива