Настройка параметров диалогового окна Цвет (Color)


Чтобы настраивать диалоговое окно Цвет (Color), Вы можете использовать какой - либо из из нижеследующих методов:

Вы можете изменить внешний вид и характер работы диалогового окна Цвет (Color), устанавливая флажки в члене Flags структуры CHOOSECOLOR. Например, Вы можете установить флажок CC_SOLIDCOLOR, который предписывает диалоговому окну, показывать на экране только чистые цвета. Чтобы заставить диалоговое окно первоначально выбрать другой цвет, а не черный, установите, флажок CC_RGBINIT и определите цвет в члене структуры rgbResult.

Вы можете предусмотреть пользовательский (специальный) шаблон для диалогового окна Цвет (Color), например, если Вы хотите включить дополнительные органы управления, которые является уникальными для вашего приложения. Функция ChooseColor использует ваш специальный шаблон вместо заданного по умолчанию шаблона.

Чтобы предоставить специальный шаблон для диалогового окна Цвет (Color)

  1. Создайте пользовательский шаблон, изменяя шаблон заданный по умолчанию, который определен в файле Color.dlg. Управляющие идентификаторы, используемые в заданном по умолчанию шаблоне диалога Цвет (Color), определены в файле Color.dlg.
  2. Используйте структуру CHOOSECOLOR, чтобы включить в работу шаблон следующим образом:

Вы можете предусмотреть фильтр (hook) - процедуру  событий CCHookProc для диалогового окна Цвет (Color). Фильтр-процедура  (hook) событий может обрабатывать сообщения, отправленные диалоговому окну. Она может также использовать и зарегистрированные сообщения, чтобы управлять поведением диалогового окна. Если Вы используете специальный  шаблон, чтобы определить дополнительные органы управления, Вы должны предусмотреть фильтр (hook) - процедуру  событий, чтобы обрабатывать ввод данных от ваших органов управления.

Чтобы включить в работу фильтр (hook) - процедуру событий для диалогового окна Цвет (Color)

  1. В члене Flags структуры CHOOSECOLOR установите флажок CC_ENABLEHOOK.
  2. В члене pfnHook установите адрес фильтр (hook) - процедуры событий.

После обработки его сообщения WM_INITDIALOG, процедура диалогового окна отправляет сообщение WM_INITDIALOG фильтр (hook) - процедуре событий. Параметр lParam этого сообщения - указатель на структуру CHOOSECOLOR, используемую, чтобы инициализировать диалоговое окно.

Диалоговое окно отправляет зарегистрированное сообщение COLOROKSTRING  фильтр (hook) - процедуре событий, когда пользователь щелкает кнопкой мыши по кнопке OK. Фильтр-процедура (hook)  может отклонить выбранный цвет и заставить диалоговое окно оставаться открытым, возвращая значение нуль, когда окно получает это сообщение. Фильтр-процедура (hook) событий может заставить диалоговое окно выбрать конкретный цвет, отправляя зарегистрированное сообщение SETRGBSTRING диалоговому окну. Чтобы использовать эти зарегистрированные сообщения, Вы должны передать  константы COLOROKSTRING и SETRGBSTRING в функцию RegisterWindowMessage, чтобы получить идентификатор сообщения. После этого Вы можете использовать идентификатор, чтобы обнаруживать и обрабатывать сообщения, отправленные диалоговым окном, или отправлять сообщения диалоговому окну.

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz