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

Вниз

Как отключать нажатие кнопок после выбора системной кнопки Help?   Найти похожие ветки 

 
Aleksandr.   (2006-08-16 14:18) [0]

К программе подключена справочная система. Диалоговое окно имеет biHelp в BorderIcons. После щелчка по кнопке справки и клика на любом визуальном объекте, кроме кнопок нормально открывается справка, а если кликнуть по TButton или TSpeedButton - срабатывает обработчик клика на эту кнопку. Есть какой-то универсальный механизм, которым можно это убрать, или нужно на каждой кнопке ставить проверку, не является ли курсор мыши справочным, и вызывать HelpContext в этом случае? Как, кстати, вообще, помимо состояния курсора, узнать, что была нажата кнопка справки?


 
Loginov Dmitry ©   (2006-08-17 07:45) [1]

щелчка по кнопке справки и клика на любом визуальном объекте, кроме кнопок нормально открывается справка, а если кликнуть по TButton или TSpeedButton - срабатывает обработчик клика на эту кнопку.

Про TButton - это вы зря. Все контроллы, имеющие свойство Handle (они имеют общего предка TWinControl), обрабатывают клик в данном режиме правильно (вернее (скорее всего) они его вообще не обрабатывают - винда просто не посылает некоторых сообщений контроллам в данном режиме).
Про компоненты, идущие от TGraphicControl винда не знает ничего, поэтому такая лажа. Однако, если вы утвеждаете, что можете определить не является ли курсор мыши справочным, то для блокировки сообщений мыши достаточно следующего кода:


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean);
begin
 if НаЭкранеКурсорСправки then Handled := not Handled
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
15-1157638395
Alex Bakulin
2006-09-07 18:13
2006.10.01
Директивы условной компиляции


4-1148668500
PRT
2006-05-26 22:35
2006.10.01
как добавить PopupMenu в чужое приложение ??


2-1158223978
megasecure
2006-09-14 12:52
2006.10.01
Проблема с ADO


15-1157796716
ArtemESC
2006-09-09 14:11
2006.10.01
Как нарисовать одноцветную линию и одноцветн. треугольник?


2-1158119650
ZSergey
2006-09-13 07:54
2006.10.01
Ошибка конвертации, не могу понять ...