Данный виджет позволяет выводить на экран текст заданный массивом строк. Есть возможность ожидать от пользователя нажатия определённой клавиши. Так же можно не пересоздавая виджет менять в нём текст.
Создание виджета. Возращает ссылку на созданный виджет или NULL, если создать не удалось.
В остальных функциях в качестве label нужно передавать ссылку на созданный виджет.
CDKLABEL *newCDKLabel (CDKSCREEN *cdkscreen, int xpos, int ypos, char **message, int messageLines, boolean box, boolean shadow);
Уничтожение виджета.
void destroyCDKLabel (CDKLABEL *label);
Удаление виджета с экрана. (Сам виджет не удаляется.)
void eraseCDKLabel (CDKLABEL *label);
Установика атрибутов фона виджета attribute.
void setCDKLabelBackgroundAttrib (CDKLABEL *label, chtype attribute);
Прорисовка виджета.
void drawCDKLabel (CDKLABEL *label, boolean box);
Активация виджета. Для данного виджета то же самое что и drawCDKLabel.
void activateCDKLabel (CDKLABEL *label, chtype unused);
Ожидание нажатия клавиши key.
char waitCDKLabel (CDKLABEL *label, char key);
Установка строк выводимых в виджете.
void setCDKLabelMessage (CDKLABEL *label, char **message, int messageLines);
void setCDKLabel (CDKLABEL *label, char **message, int messageLines, boolean box);
Получение содержимое виджета и количества строк messageLines.
chtype **getCDKLabelMessage (CDKLABEL *label, int *messageLines);
Перемещение виджета.
void moveCDKLabel (CDKLABEL *label, int xpos, int ypos, boolean relative, boolean refresh);
Управление положением виджета клавишами курсора.
void positionCDKLabel (CDKLABEL *label);
Есть ли рамка у виджета.
boolean getCDKLabelBox(CDKLABEL *label);
Изменить наличие рамки в виджете.
void setCDKLabelBox (CDKLABEL *label, boolean box);
Установка атрибутов attribute для рамки.
void setCDKLabelBoxAttribute (CDKLABEL *label, chtype attribute);
Установка символа character выводимого по горизонтали рамки.
void setCDKLabelHorizontalChar (CDKLABEL *label, chtype character);
Установка символа character выводимого по вертикали рамки.
void setCDKLabelVerticalChar (CDKLABEL *label, chtype character);
Установка символа character выводимого в левом нижнем углу рамки.
void setCDKLabelLLChar (CDKLABEL *label, chtype character);
Установка символа character выводимого в правом нижнем углу рамки.
void setCDKLabelLRChar (CDKLABEL *label, chtype character);
Установка символа character выводимого в левом верхнем углу рамки.
void setCDKLabelULChar (CDKLABEL *label, chtype character);
Установка символа character выводимого в правом верхнем углу рамки.
void setCDKLabelURChar (CDKLABEL *label, chtype character);
/* w_label.c - пример простой программы демонстрирующей возможности виджета Label библиотеки CDK. (C) Copyright 2006 Бердников Александр alexber220@yandex.ru Данная программа распростаняется по лицензии BSD. */ #include <cdk.h> int main(int argc, char *argv[]) { CDKSCREEN *cdkscreen; CDKLABEL *label; WINDOW *screen; char *mesg[4]; // инициализация screen = initscr(); cdkscreen = initCDKScreen(screen); initCDKColor(); //определяем строки для вывода mesg[0] = "<#HL(40)>"; mesg[1] = "Выравнивание по левому краю"; mesg[2] = "Выравнивание по центру"; mesg[3] = " Выравнивание по правому краю"; //создаём виджет типа метка label = newCDKLabel(cdkscreen, 10, 0, mesg, 4, TRUE, FALSE); //прорисовываем её drawCDKLabel(label, TRUE); //ждём нажатия пробела waitCDKLabel(label, ' '); //освобождаем ресурсы destroyCDKLabel(label); destroyCDKScreen(cdkscreen); endCDK(); return 0; }