Для отображения текста или отрисовки оформительских примитивов в окне диалога функции GDI, как правило, не используются. Вместо этого в Windows определен специальный « статический » класс дочерних окон - органов управления.
Органы управления этого класса могут быть созданы указанием функции CreateWindow имени класса «static». Дочерние окна этого типа являются, наверное, самым простым типом окон Windows. Статические органы управления не обрабатывают ни клавиатуру, ни мышь и не посылают сообщение WM_COMMAND функции родительского окна.
Единственное сообщение, которое обрабатывает статические органы управления - это сообщение WM_HITTEST, возвращаемое обратно Windows с установленным параметром HTTRANSPARENT. Это заставляет Windows посылать то же самое сообщение функции нижнего окна, т.е. функции окна диалога, где оно благополучно перерабатывается в сообщение рабочей области так же, как если бы статического органа управления не было вовсе.
Используя стандартно определенные стили статических примитивов Windows, можно отображать системными цветами прямоугольники и рамки, выводить в окно диалога текст и даже пиктограммы:
Примитив
| Определение
|
SS_BLACKRECT
SS_GRAYRECT
SS_WHITERECT
SS_BLACKFRAME
SS_GRAYFRAME
SS_WHITEFRAME
SS_CENTER
SS_LEFT
SS_RIGHT
SS_ICON
SS_SIMPLE
SS_USERITEM
| Прямоугольник цвета рамки окна (COLOR_WINDOWFRAME)
Прямоугольник цвета фона окна (COLOR_BACKGROUND)
Прямоугольник цвета окна (COLOR_WINDOW)
Рамка цвета рамки окна (COLOR_WINDOWFRAME)
Рамка цвета фона окна (COLOR_BACKGROUND)
Рамка цвета окна (COLOR_WINDOW)
Центрированный текст
Текст, выравненный по левому краю
Текст, выравненный по правому краю
Пиктограмма; функции CreateWindow указывается имя загруженной пиктограммы, не имя файла пиктограммы. Установленная ширина и высота органа управления в этом случае игнорируется; пиктограмма автоматически масштабирует себя по осям
То же, что и SS_LEFT, но проще: так, используя этот стиль, нельзя обрабатывать сообщение WM_CTLCOLOR.
Статический орган управления, отрисовываемый пользователем
|