Главная страница
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.028 c
15-1157699759
AxelBlack
2006-09-08 11:15
2006.10.01
Как удалить StarTeam из главного меню Delphi2005?


3-1154426831
alseos
2006-08-01 14:07
2006.10.01
срочно нужен пример рабочей ConnectionString для связи с Oracle 9


1-1154204021
Destroyer
2006-07-30 00:13
2006.10.01
MS Outlook


2-1158064054
Juri
2006-09-12 16:27
2006.10.01
работа с Memo


2-1157997488
Adios
2006-09-11 21:58
2006.10.01
помогите разобраться