gauldot |
Отправлено: 05.03.2004, 11:58 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 22
|
Здрасте всем
У меня есть форма с "?" вверху.
На форме есть TListBox, TButton, TImage
Выставил св-ва:
ListBox1->HelpContext = 50;
Button->HelpContext = 50;
Image1->HelpContext = 50;
Прописал событие формы:
bool __fastcall TForm1::FormHelp(WORD Command, int Data, bool &CallHelp)
{
WinHelp (Handle , "MyHelp.hlp", Command, Data);
СallHelp = false;
}
Теперь после выбора "?" и наведении его на Listbox или Button
всё работает нормально (всплывает подсказка из раздела справки №50). Не работает для Image и для самой формы (я так понял это компоненты, которые не могут принимать фокус),
как сделать чтоб работало для всего? |
|
gauldot |
Отправлено: 07.03.2004, 21:01 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 22
|
Да уж... не прошло и три дня...
Разве без этого может обойтись любая уважающая себя программа, или
это такой тупой вопрос, что всем даже лень отвечать на него! |
|
Asher |
Отправлено: 09.03.2004, 09:25 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
Привет.
Праздники были. Некоторые даже отдыхать умеют.
У TImage нет HelpContext, т.к. порожден не от TWinControl.
Положи его на TPanel и назначь справку ему.
С формой должно работать. Может ты ее всю перекрыл и она не получает фокус? (Заголовок не в счет)
P.S. почему у тебя на все компоненты один раздел справки?
|
|
gauldot |
Отправлено: 09.03.2004, 22:52 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 22
|
Здорово.
QUOTE | У TImage нет HelpContext, т.к. порожден не от TWinControl.
|
Как же нету?! Есть! Унаследовано от TControl. А вот как раз у
TWinControl в свойствах HelpContext нету, где ты его там увидел?
QUOTE | Положи его на TPanel и назначь справку ему.
|
С ТPanel не прокатило, хоть и можно у него выставить фокус...получается не в фокусе дело...я теперь вообще ничего не понимаю. В принципе если прописать у TImage в OnClick строчку WinHelp (Handle , "MyHelp.hlp", HELP_CONTEXTPOPUP, 50);,
то всё будет нормально, но дело в том, что в реальной программе это событие мною уже обрабатывается, тогда встаёт задача определения, что тыкаю на TImage вопросиком, а как сделать такую проверку незнаю.
QUOTE | Может ты ее всю перекрыл и она не получает фокус? |
Неперекрытого места хватает. Кстати событие формы OnHelp вообще не возникает, кроме случаев когда щёлкаешь "?" по TListBox и TButton.
Пробовал даже вручную вызвать этот OnHelp с нужными параметрами — не помогло (OnHelp вызвался, но на экране я ничего не увидел).
QUOTE | P.S. почему у тебя на все компоненты один раздел справки? |
Тестированием же занимаюсь. Создал один топик и мучаю его. Приложил этот самый тестовый проект к ответу вместе с hlp-файлом.
|
|
|