Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.5 MB
Время: 0.019 c
2-1204008737
Рома....
2008-02-26 09:52
2008.03.23
Потоки


2-1203840160
asdqwer
2008-02-24 11:02
2008.03.23
«Приклеивание» окон


3-1193576969
alexche
2007-10-28 16:09
2008.03.23
Проблемы с ADO Connection


2-1203511255
Ultimate
2008-02-20 15:40
2008.03.23
Эффекты появления


2-1203749314
Small Donkey
2008-02-23 09:48
2008.03.23
Вывести компьютер из спящего режима