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

Вниз

MessageBox & mb_Help ???   Найти похожие ветки 

 
Alex Shulg ©   (2004-03-16 13:04) [0]

Добрый день, не подскажите, что нужно сделать, чтобы при вызове след. конструкции, нажав на кнопку Help вызвался бы соответствующий раздел справки. Куда подставить ID контекста, чтобы MessageBox его вызвал?

if idYes=Application.MessageBox("текст","заголовок",mb_YesNo+mb_Help+mb_IconInformation) then ...


 
Alex Shulg ©   (2004-03-16 13:22) [1]

За это, вроде как, отвечает OnHelp Event, вот только куда прописывать этот вызов хелпа? MessageBox вызывается в главном модуле до конструкции Application.Run. Пытался вызов хелпа писать в OnHelp главной формы - не срабатывает! Куда копать?


 
Alex Shulg ©   (2004-03-17 13:43) [2]

Альтернатива MessageDlg


 
Игорь Шевченко ©   (2004-03-17 14:24) [3]


> Куда подставить ID контекста, чтобы MessageBox его вызвал?


В окно Handle, которое передается первым параметром API-функции MessageBox.


 
Игорь Шевченко ©   (2004-03-17 14:26) [4]


> Куда подставить ID контекста, чтобы MessageBox его вызвал?


В окно Handle, которое передается первым параметром API-функции MessageBox.


 
Alex Shulg ©   (2004-03-17 18:07) [5]

Получается, мне форме надо поставить контекст справки? Но зачем это надо, чтобы форма была связана с определенным контекстом справки, не имеющим отношения к объектам формы. Необходимый мне контекст содержит дополнительную информацию, поясняющую некоторые особенности ПО. Если с каким-либо объектом не будет связан свой контекст, тогда откроется страница, связанная с самой формой? Я так понимаю, это получается, что пользователь посылается совершенно налево в данной ситуации! А в MessageDlg я указываю конкретный ID контекста, который связывается с кнопкой Help.


 
Игорь Шевченко ©   (2004-03-17 21:14) [6]


> Куда подставить ID контекста, чтобы MessageBox его вызвал?


> Но зачем это надо, чтобы форма была связана с определенным
> контекстом справки


Кто-то мешает ставить определенный контекст в момент вызова MessageBox ?


> Я так понимаю, это получается, что пользователь посылается
> совершенно налево в данной ситуации!


Нет, матчасть надо учить. Или не пользоваться.


 
Alex Shulg ©   (2004-03-18 15:28) [7]

Что-то не врубаюсь:

Form1.HelpContext:=500;

if idYes=MessageBox(Form1.Handle,"текст","заголовок",mb_YesNo+mb_Help+mb_IconInformation) then ...

Я не правильно понял или дело в чем-то другом? Справка не вызывается! Присвоение Form1.HelpFile:=<файл справки>, а не только Application.HelpFile:=<файл справки> ничего не дает. Вызываемый раздел справки существует 100%.


 
Игорь Шевченко ©   (2004-03-18 15:59) [8]

Alex Shulg ©   (18.03.04 15:28)

При нажатии на кнопку Help MessageBox"a форме (в данном случае) посылается сообщение WM_HELP. Обработчик этого сообщения вызывает метод TApplication.InvokeHelp, который кроме всего прочего вызывает Form.OnHelp или Application.OnHelp.

В этих обработчиках рекомендуется возвращать True.


 
Alex Shulg ©   (2004-03-19 15:17) [9]

Спасибо, все получилось!
Сделал через
Procedure TForm1.WndProc(Var Msg:TMessage);
...
 if (Msg.Msg=WM_HELP) then
  Application.HelpContext(Form1.HelpContext);
...
Вызов:
Form1.HelpContext:=500;
if idYes=MessageBox(Form1.Handle,"текст","заголовок",mb_YesNo+mb_Help+mb_IconInformation) then ...
Form1.HelpContext:=0;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.036 c
14-1076735750
Труп Васи Доброго
2004-02-14 08:15
2004.04.04
Технология PLC


14-1078740329
Marina_S
2004-03-08 13:05
2004.04.04
помогите найти конференцию по ассемблеру плиз


1-1079093833
Артем К.
2004-03-12 15:17
2004.04.04
Как расположить пункт главного меню справа


1-1079612266
Сниф
2004-03-18 15:17
2004.04.04
Где можно взять подробный пример создания Com-объекта?


3-1078895405
Janbolat
2004-03-10 08:10
2004.04.04
Опять про печать





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