Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
1-24914
viper
2002-12-25 16:41
2003.01.09
ComboBox


1-24957
Evgeniy2
2002-12-26 22:15
2003.01.09
консоль


4-25163
kasken
2002-11-15 15:01
2003.01.09
Опять мессаги...


3-24808
Alenka
2002-12-17 01:42
2003.01.09
SQL запрос(Create table)


6-24990
ruslan_as
2002-11-11 12:45
2003.01.09
Как узнать вошел ли компьютер в сеть




   Наверх