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

Вниз

Новый обработчик иконки 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1203997892
Chorniy
2008-02-26 06:51
2008.03.23
Корректно ли делать так? WaitForSingleObject()


15-1202479294
Kerk
2008-02-08 17:01
2008.03.23
Возможно буду оригинален


2-1203691632
махс
2008-02-22 17:47
2008.03.23
TLabeledEdit


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


15-1202872059
Slider007
2008-02-13 06:07
2008.03.23
С днем рождения ! 13 февраля 2008 среда





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