Окт 16

Создание элементов управления общего пользования

Наиболее традиционным способом создания элемента управления общего пользования является вызов функции CreateWindow или CreateWindowEx. Например, приведенный вызов создает панель инструментов:
HWND hwndToolBar = CreateWindowCTQOLBARCLASSNAME. NULL, WS_CHILD |
WS_VISIBLE | WS_B0RDER, 0. 0. 16, 16, hwndParent. (HMENU)l. hlnst, 0);
Имя оконного класса TOOLBARCLASSNAME здесь задается без кавычек, поскольку это именованная константа, определение которой зависит от набора символов, выбранного при построении программы. Для набора символов ANSI имя TOOLBARCLASSNAME заменяется строковой константой ToolbarWindow32, для набора символов UNICODE — строковой константой L"ToolbarWindow32". Имена других оконных классов элементов управления общего пользования определяются аналогично.
Обычно элементы управления общего пользования создаются как дочерние окна, что определяется флагом WS_CHILD и передачей дескриптора родительского окна hwndParent.
Альтернативой вызову функции CreateWindow является вызов специализированной функции создания элемента управления, которая в то же время может выполнять некоторую стандартную инициализацию. Например, панель инструментов может быть создана функцией CreateToolBarEx.
Для некоторых элементов управления соответствующие оконные классы не определены. Такие элементы управления могут быть созданы только с помощью специализированных функций. В табл. 8.6 приведены сведения об оконных классах и специализированных функциях создания для элементов управления общего пользования.