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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.007 c
14-25076
Driverrr
2002-12-21 10:19
2003.01.09
Нужны деньги!


1-24934
Calm
2002-12-26 12:19
2003.01.09
Как узнать имя класса окна чужой программы?


14-25014
Ru
2002-12-09 16:41
2003.01.09
---|Ветка была без названия|---


1-24958
Probas
2002-12-26 22:18
2003.01.09
Общая


7-25114
dr.karter
2002-09-24 11:43
2003.01.09
Работа с командной строкой





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