Читаем Delphi. Трюки и эффекты полностью

Листинг 10.7.

Массив с информацией об оконных стилях

styles: array [0..17] of StyleInfo =

(

(value: WS_BORDER; name: \'WS_BORDER\'),

(value: WS_CAPTION; name: \'WS_CAPTION\'),

(value: WS_CHILD; name: \'WS_CHILD\'),

(value: WS_CLIPCHILDREN; name: \'WS_CLIPCHILDREN\'),

(value: WS_DISABLED; name: \'WS_DISABLED\'),

(value: WS_DLGFRAME; name: \'WS_DLGFRAME\'),

(value: WS_HSCROLL; name: \'WS_HSCROLL\'),

(value: WS_MAXIMIZE; name: \'WS_MAXIMIZE\'),

(value: WS_MAXIMIZEBOX; name: \'WS_MAXIMIZEBOX\'),

(value: WS_MINIMIZE; name: \'WS_MINIMIZE\'),

(value: WS_MINIMIZEBOX; name: \'WS_MINIMIZEBOX\'),

(value: WS_OVERLAPPED; name: \'WS_OVERLAPPED\'),

(value: WS_POPUP; name: \'WS_POPUP\'),

(value: WS_SYSMENU; name: \'WS_SYSMENU\'),

(value: WS_TABSTOP; name: \'WS_TABSTOP\'),

(value: WS_THICKFRAME; name: \'WS_THICKFRAME\'),

(value: WS_VISIBLE; name: \'WS_VISIBLE\'),

(value: WS_VSCROLL; name: \'WS_VSCROLL\')

);

Процедура LoadWindowExStyle реализована практически так же, как и процедура LoadWindowStyle. Только она заполняет cnncKHlstExStyle HlstAvailExStyle и обращается к массиву exstyles, а не styles. Поэтому приведем объявление только массива exstyles (листинг 10.8).

...

Листинг 10.8.

Массив с информацией о дополнительных оконных стилях

exstyles: array [0..18] of StyleInfo =

(

(value: WS_EX_ACCEPTFILES; name: \'WS_EX_ACCEPTFILES\'),

(value: WS_EX_APPWINDOW; name: \'WS_EX_APPWINDOW\'),

(value: WS_EX_CLIENTEDGE; name: \'WS_EX_CLIENTEDGE\'),

(value: WS_EX_CONTEXTHELP; name: \'WS_EX_CONTEXTHELP\'),

(value: WS_EX_CONTROLPARENT; name: \'WS_EX_CONTROLPARENT\'),

(value: WS_EX_DLGMODALFRAME; name: \'WS_EX_DLGMODALFRAME\'),

(value: WS_EX_LAYERED; name: \'WS_EX_LAYERED\'),

(value: WS_EX_LEFT; name: \'WS_EX_LEFT\'),

(value: WS_EX_LEFTSCROLLBAR; name: \'WS_EX_LEFTSCROLLBAR\'),

(value: WS_EX_MDICHILD; name: \'WS_EX_MDICHILD\'),

(value: WS_EX_NOACTIVATE; name: \'WS_EX_NOACTIVATE\'),

(value: WS_EX_NOINHERITLAYOUT; name: \'WS_EX_NOINHERITLAYOUT\'),

(value: WS_EX_NOPARENTNOTIFY; name: \'WS_EX_NOPARENTNOTIFY\'),

(value: WS_EX_RIGHTSCROLLBAR; name: \'WS_EX_RIGHTSCROLLBAR\'),

(value: WS_EX_STATICEDGE; name: \'WS_EX_STATICEDGE\'),

(value: WS_EX_TOOLWINDOW; name: \'WS_EX_TOOLWINDOW\'),

(value: WS_EX_TOPMOST; name: \'WS_EX_TOPMOST\'),

(value: WS_EX_TRANSPARENT; name: \'WS_EX_TRANSPARENT\'),

(value: WS_EX_WINDOWEDGE; name: \'WS_EX_WINDOWEDGE\')

);

Изменение оконных стилей

Изменение стилей окна «на лету» производится не сложнее, чем их определение: с помощью API-функций GetWindowLong и SetWindowsLong. Пример добавления флага, обозначение которого выбрано в списке доступных стилей, приводится в листинге 10.9.

...

Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Мейерс , Скотт Майерс

Программирование, программы, базы данных / Программирование / Книги по IT