Текущий архив: 2008.03.23;
Скачать: CL | DM;
Вниз
Новый обработчик иконки help окна Найти похожие ветки
← →
Alex (2008-02-13 09:33) [0]Добрый день!
Подскажите пожалуйста начинающему, как сделать свой обработчик для иконки Help формы. При добавлении её в форму она появляется только почему то при выключенной иконке изменения размера окна. (single)
При наведении мыши на иконку нет реакции. Я так понял, что вообще должна происходить загрузка файла winhelp. А мне нужно сделать полностью свой обработчик.
← →
Leonid Troyanovsky © (2008-02-13 10:42) [1]
> Alex (13.02.08 09:33)
> Подскажите пожалуйста начинающему
Начинающие идут к "Начинающим".
> как сделать свой обработчик для иконки Help формы. При добавлении
> её в форму она появляется только почему то при выключенной
> иконке изменения размера окна. (single)
Как можно делать свою систему помощи, не читая дельфийской:
biHelp If BorderStyle is bsDialog or biMinimize and biMaximize are excluded,
a question mark appears in the form"s title bar and when clicked, the cursor
changes to crHelp; otherwise,no question mark appears.
> А мне нужно сделать полностью свой обработчик.
RTFM: Delphi help: TCustomForm.OnHelp
--
Regards, LVT.
← →
Anatoly Podgoretsky © (2008-02-13 11:32) [2]Что такое help окно и help форма
← →
Alex (2008-02-14 14:19) [3]Ну и где же здесь ответ на мой вопрос?
Меня не интересует организация и постороения помощи в дельфи винде и тп. С этим слава богу все понятно. Мне нужно добавить одну лишнюю иконку на форму-получается. Изображенный на ней вопрос на ней меня устраивает, А окно, которое должно появляться при её клике к помощи не несет никакого отношения.
Причем написал, что нужен bsSingle, а не диалог и тп.
Один из вариантов мне уже рассказали, но это не "начинающих".
Меня интересует, есть ли более простые варианты?
А кто куда идет время покажет...
← →
Alex (2008-02-14 14:33) [4]Прочитал и решил написать еще раз
1. Есть готовая прога, Нужно добавить еще одно окно под справочную информацию. Чтобы не переделывать весь внешний вид, на который было убито много времени и сил, (А еще одна кнопка ну никак не вписывается в концепцию дизайна) решено использовать в качестве этой кнопки иконку помощи.
2. Добавляю иконку (biHelp:=true), иконка появляется на форме, но нет клика (анимации нажатия) и нет события. Варианты с диалоговым окном не устраивают по ряду причин.
3. Как получить клик и обработчик на него попроще?
← →
ketmar © (2008-02-14 14:50) [5]>[4] Alex (2008-02-14 14:33:00)
нарисовать свою кнопку на caption не вариант?
---
Understanding is not required. Only obedience.
← →
Leonid Troyanovsky © (2008-02-14 15:45) [6]
> ketmar © (14.02.08 14:50) [5]
> нарисовать свою кнопку на caption не вариант?
Если только рисовать свой caption.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2008-02-14 15:54) [7]
> Alex (14.02.08 14:33) [4]
> 2. Добавляю иконку (biHelp:=true), иконка появляется на
> форме, но нет клика (анимации нажатия) и нет события.
Я ж приводил уже цитату из хелпа. Не знаю, чего уж там перечитывалось.
Сделать ее работоспособной можно лишь исключив обои -
biMinimize and biMaximize.
> кнопка ну никак не вписывается в концепцию дизайна) решено
> использовать в качестве этой кнопки иконку помощи.
Во-первых, есть клавиша F1.
А во-вторых, можно добавить пункт вызова помощи хоть
в системное меню.
--
Regards, LVT.
← →
ketmar © (2008-02-14 16:11) [8]>[6] Leonid Troyanovsky © (2008-02-14 15:45:00)
не обязательно. можно и поверх стандартного своё наляпать. правда, будут проблемы с темами от XP.
---
Understanding is not required. Only obedience.
← →
Alex (2008-02-15 10:28) [9]В общем судя по ответам тема не такаю уж и простая...
Все, что называлось "не вариант?" в данном случае именно не.
Именно включая XP и поддержку скинов.
Спасибо всем, пока остается лишь предложенный вариант с наследованием...
← →
Leonid Troyanovsky © (2008-02-15 11:07) [10]
> Alex (15.02.08 10:28) [9]
> В общем судя по ответам тема не такаю уж и простая...
Да, да.
Если трудностей не хватает, то мы их создаем.
--
Regards, LVT.
← →
Timofey (2008-02-24 23:47) [11]> Как получить клик и обработчик на него попроще?
Например так:
type
THelpForm = class(TForm)
private
procedure WMNCLBUTTONDOWN(var Msg: TWMNCLButtonDown) ; message WM_NCLBUTTONDOWN;
procedure WMNCLBUTTONUP(var Msg: TWMNCLButtonUp) ; message WM_NCLBUTTONUP;
end;
-----
procedure THelpForm.WMNCLBUTTONDOWN(var Msg: TWMNCLButtonDown) ;
begin
if Msg.HitTest = HTHELP then
Msg.Result := 0 // "eat" the message
else
inherited;
end;
procedure THelpForm.WMNCLBUTTONUP(var Msg: TWMNCLButtonUp) ;
begin
if Msg.HitTest = HTHELP then
begin
Msg.Result := 0;
ShowMessage("Need help?") ;
end
else
inherited;
end;
Страницы: 1 вся ветка
Текущий архив: 2008.03.23;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.006 c