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

Вниз

HELP_CONTEXTPOPUP   Найти похожие ветки 

 
YuVoUA   (2003-04-14 14:09) [0]

Как мы знаем, этот код:
Application.HelpCommand(HELP_CONTEXTPOPUP, 1);
отображает всплывающее окно помощи для указанного раздела. Подобные результаты можно получить нажимая на biHelp кнопку формы, когда для компонента указан HelpContext.
Когда я компилирую проект с этим кодом под Delphi 5 - результат положительный. Однако, после компиляции того-же проекта под Delphi 6/7 результат получается другой - после отображения на долю секунды всплывающего окна помощи с указанным HelpContext сразу же отображается стартовая страница окна помощи. Та же ситуация и с biHelp кнопкой. От версии OS не зависит.
Я думаю, что эта ошибка связана с новой реализацией системы помощи в Delphi 6/7 IHelpSystem (Application.HelpSystem).
Использование следующего кода - SendMessage(Application.Handle, wm_help, HELP_CONTEXTPOPUP, 1) приводит к тем же плохим результатам.
Как истправить эту ошибку в Delphi 6/7 ?


 
Игорь Шевченко   (2003-04-14 15:54) [1]

WinHelp(WindowHandle,HelpFileName,HELP_CONTEXTPOPUP,ContextID) не поможет ?


 
YuVoUA   (2003-04-14 18:17) [2]

Спасибо,
WinHelp(WindowHandle,HelpFileName,HELP_CONTEXTPOPUP,ContextID) помогает, но только частично, реакция на biHelp кнопку остается неправильной


 
Игорь Шевченко   (2003-04-14 18:24) [3]

YuVoUA (14.04.03 18:17)

Можно по коду посмотреть, какова стандартная реакция у Delphi"йской формы на WM_HELP в данном случае.


"WS_EX_CONTEXTHELP -
Includes a question mark in the title bar of the window. When the user clicks the question mark, the cursor changes to a question mark with a pointer. If the user then clicks a child window, the child receives a WM_HELP message. The child window should pass the message to the parent window procedure, which should call the WinHelp function using the HELP_WM_HELP command. The Help application displays a pop-up window that typically contains help for the child window."



 
YuVoUA   (2003-04-18 14:24) [4]

Все нормально, только нужно в OnHelp прописать такой обработчик

Result := WinHelp(Application.Handle, PChar(Application.HelpFile), Command, Data);
CallHelp := false;

Успехов !!!



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

Форум: "WinAPI";
Текущий архив: 2003.06.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-60331
Алексей
2003-06-01 21:43
2003.06.19
БД какая нибудь нужна срочно


1-60106
Тукрин
2003-06-04 17:54
2003.06.19
Как обратится к protected методу компоненты?


7-60446
Zirus
2003-04-12 15:53
2003.06.19
Чтение двоичных файлов


8-60278
Mel26
2003-03-02 21:28
2003.06.19
Фильтр баланса цветов


1-60120
Gamar
2003-06-06 09:59
2003.06.19
Чтение результата в ячейке Excel





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