Окно. Создание и регистрация класса окна, изменение атрибутов, страница 2

9) TWndClass.lpszMenuName –  ссылка на строку имени меню для данного класса окна. Для символьного имени преобразований производить не нужно:

IpszMenuName := 'OurMenu';

10) TWndClass.lpszClassName  - имя класса.

Создание и отображение окна

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

Function CreateWindow(ClassName, WindowName: PChar;

Style: LongInt:

X, Y,

Width, Height: Integer;

WndParent:HWnd;

Menu:HMenu;

Instance :THandle;

Param: Pointer): HWnd;

Эта функция создает окно. При вызове указываются: имя класса, к которому принадлежит создаваемое окно, заголовок окна, стиль окна, начальное местоположение и размер окна. Указывается также родительское окно для создаваемого окна и наличие меню.

Параметр ClassName определяет имя класса, к которому относится создаваемое окно. Класс должен быть зарегистрирован при помощи функции RegisterClass. Возможно указание имен классов, предопределенных в Windows: button, combobox, edit, listbox, scroll bar и static.

Параметр WindowName определяет заголовок окна. Заголовок окна отображается между верхней рамкой и строчным меню.

СТИЛИ ОКНА:

Для указания стиля окна используются комбинации констант ws_ (window style). Стили окна можно разделить на пять категорий:

1. Стили, определяющие тип окна.

ws_Overlapped –  указывается для главного окна программы. Окно с этим стилем имеет заголовок и размер cw_UseDefault.

ws_Popup –  используется при создании панелей диалога (которые являются специальным типом окна).

ws_Child –  используется для создания дочерних окон. Дочерние окна используются для разделения родительских окон на отдельные области.

2. Стили, определяющие тип рамки окна.

ws_Border –  окно должно иметь рамку.

ws_DlgFrame – окно должно иметь тонкую рамку. Этот стиль используется при создании панелей диалога.

ws_ThickFrame – размер окна может изменяться при активации рамки манипулятором "мышь".

ws_ex_DlgModalFranie –  при создании панелей диалога. Этот стиль является стандартным стилем для панелей диалога.

3. Стили, определяющие компоненты окна.

ws_Caption – окно должно иметь заголовок. Заголовок обычно используется совместно с рамкой (ws_Border).

ws_HScroll – окно имеет горизонтальную полосу прокрутки. Горизонтальная полоса прокрутки располагается у нижней рамки окна.

ws_VScroll – окно имеет вертикальную полосу прокрутки. Вертикальная полоса прокрутки располагается у правой рамки окна.

ws_MaximizeBox – окно имеет кнопку максимизации окна. Используется совместно с ws_Caption.

ws_MinimizeBox – окно имеет кнопку минимизации окна. Используется совместно с ws_Caption.

ws_SysMenu – окно имеет системое меню. Используется совместно с ws_Caption.

4. Стили, определяющие начальное состояние окна.

ws_Disabled - окно находится в неактивном состоянии, игнорируя события от клавиатуры и "мыши". При попытке активации окна выдается звуковой сигнал.

ws_Iconic - окно отображается иконкой (окно минимизированно).

ws_Maximize - окно отображается в максимизированном состоянии. Главное окно занимает весь экран, дочерние - всю рабочую область родительского окна.

ws_Minimize - окно отображается иконкой. Синоним стиля ws_Iconic.

ws_Visible - окно видимое. Без указания этого стиля окно будет невидимым.

5. Стили, определяющие дополнительные свойства окна.

ws_ClipChildren -– для запрещения родительскому окну отображать информацию в области, занимаемой дочерним окном.

ws_ClipSiolings - окна имеющие тоже самое родительское окно не перекрывают окно с этим стилем.

ws_ex_NoParentNotify – дочерние окна не должны посылать ряд сообщений родительскому окну.