Win32 API. Библиотека стандартных диалоговых окон - Поддержка Справки

ОГЛАВЛЕНИЕ

Поддержка Справки

Стандартные диалоговые окна обеспечивают контекстно-зависимой Справкой стандартные средства управления диалоговым окном. Чтобы дать дополнительную справку для стандартного диалогового окна, вы можете показать кнопку Справка (Help) и обрабатывать создаваемые сообщения, когда пользователь щелкает мышью по этой кнопке. Кнопка Справка (Help) - добавление к заданной по умолчанию контекстно-зависимой Справке. Кнопка Справка (Help) полезна для описания общего предназначения диалогового окна, поскольку она применяется в вашей прикладной программе. 

Контекстно-зависимая Справка

Все стандартные диалоговые окна обеспечивают контекстно-зависимую Справку для стандартных средств управления диалоговым окном. Пользователь может показать Справку для индивидуальных элементов управления любым из следующих методов:

  1. Путем выбора элемента управления и нажатия клавиши F1
  2. Щелчком мыши по кнопке ? в области заголовка, а затем щелчком мыши по элементу управления
  3. Щелчком правой кнопки мыши над элементом управления

Если вы настраиваете диалоговое окно, при помощи добавления новых элементов управления, вы должны также расширить поддержку справки для этих средств управления, обрабатывая запросы о справке в фильтр - процедуре. Фильтр - процедура принимает следующие сообщения, когда пользователь запрашивает справку.

Действие пользователя				Сообщение
Пользователь щелкнул правой кнопкой мыши
над элементом управления. WM_CONTEXTMENU
Пользователь нажал на клавишу F1. WM_HELP
Пользователь щелкнул мышью по кнопке ? в
области заголовка окна, а затем щелкнул
мышью по элементу управления. WM_HELP

Вы должны обработать эти сообщения для средств управления, которые вы добавили, но и позволить заданной по умолчанию процедуре диалогового окна, обрабатывать сообщения для стандартных средств управления. Для получения дополнительной информации о том, как обрабатывать эти сообщения, см. Краткий обзор Справки.

Кнопка Справка

Вы можете показать кнопку Справка (Help) в любом из стандартных диалоговых окон, устанавливая значение SHOWHELP в элементе Flags структуры инициализации для диалогового окна. Если вы показываете кнопку Справка (Help), вы должны обработать запрос пользователя о справке. Обработка может быть выполнена или в одной из оконных процедур вашей прикладной программы или в фильтр - процедуре для диалогового окна. Обычно, запрос о справке вы должны обрабатывать, вызывая функцию WinHelp.

Чтобы обработать сообщения справки в одной из ваших оконных процедур, вы должны получить идентификатор сообщения для строки, определенный значением HELPMSGSTRING и идентифицировать окно, которое принимает сообщения. Чтобы получить идентификатор сообщения, установите HELPMSGSTRING как параметр в вызываемой функции RegisterWindowMessage. Когда вы создаете стандартное диалоговое окно, используйте элемент hwndOwner структуры инициализации диалогового окна, чтобы идентифицировать окно, которое должно принять сообщения. Процедура диалогового окна посылает сообщение оконной процедуре всякий раз, когда пользователь выбирает кнопку Справка (Help).

Чтобы обрабатывать сообщения справки в фильтр - процедуре, вы должны обработать сообщение WM_COMMAND. Фильтр - процедура обеспечивает справку, если параметр wParam этого сообщения указывает, что пользователь нажал кнопку Справка (Help). Идентификатор кнопки Справка (Help) - константа pshHelp, определена в файле < b>.

Фильтр - процедуры для стандартных диалоговых окон в стиле Проводника Открыть и Сохранить как, не принимают сообщения WM_COMMAND для кнопки Справка (Help). Вместо этого, диалоговое окно посылает уведомительное сообщение CDN_HELP фильтр - процедуре, когда нажата кнопка Справка (Help).