...

Листинг 2.15.

Создание многострочного текстового поля

function CreateMemo(x, y, width, height, id: Integer;

strInitText: String):HWND;

begin

CreateMemo:=

CreateWindowEx(WS_EX_CLIENTEDGE, \'EDIT\',

PAnsiChar(strInitText),

WS_CHILD or WS_VISIBLE or ES_AUTOVSCROLL or

ES_MULTILINE or WS_TABSTOP,

x, y, width, height, hParentWnd,

HMENU(id), hAppInst, nil);

end;

Приведенные здесь функции не претендуют на абсолютную универсальность и гибкость. Они введены для того, чтобы упростить создание элементов управления в тех частных случаях, которые приводятся далее в примерах этой главы.

Использование элементов управления

Элементы управления, как и все окна, управляются путем посылки им сообщений. Этим же способом они уведомляют родительские окна о некоторых произошедших событиях (например, выделение элемента в списке, нажатие кнопки и т. д.).

Описание наиболее используемых сообщений для рассматриваемых элементов управления приводится в приложении 3. Мы же рассмотрим, как можно упростить работу с элементами управления в некоторых частных случаях, написав для этого специальные функции.

Итак, в демонстрационном проекте для управления переключателями и флажками предусмотрены следующие функции и процедуры (листинг 2.16).

Загрузка...