Программирование для IBM OS2


Другие фукнции для рисования текста


Кроме изученной нами функции GpiCharString At приложения Presentation Manager могут использовать для рисования текста еще несколько функций.

Функция GpiCharString отображает строку текста с текущей позиции и имеет следующий прототип:

LONG GpiCharString ( HPS hps, // идентификатор пространства отображения LONG lCount, // размер текстовой строки PCH pchString); // адрес текстовой строки

Текущая позиция для вывода текста устанавливается функцией GpiMove . После рисования строки текста текущая позиция устанавливается в конце этой строки, так что с помощью последующих вызовов функции GpiCharString вы можете дописать строку.

Функция GpiMove имеет два параметра:

BOOL GpiMove ( HPS hps, // идентификатор пространства отображения PPOINTL pptlPoint); // новая позиция

Ниже мы привели пример совместного использования фукнций GpiMove и GpiCharString :

HPS hps; POINTL ptl;

ptl.x = 10L; ptl.y = 10L; GpiMove (hps, &ptlStart); GpiCharString (hps, 5L, "Hello"); GpiCharString (hps, 8L, ", world!");

Нетрудно заметить, что рассмотренная нами ранее функция GpiCharString At является комбинацией функций GpiMove и GpiCharString.

Для рисования текста вы также можете использовать функции GpiCharString Pos, GpiCharStringPosAt и WinDrawText . Эти функции предназначены для форматного вывода текста и допускают выбор индивидуальной позиции для каждого отображаемого символа и использование таких элементов оформления текста, как подчеркивание и перечеркивание.

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

LONG WinDrawText ( HPS hps, // идентификатор пространства отображения LONG cchText, // длина текстовой строки в байтах PCH lpchText, // адрес отображаемой текстовой строки PRECTL prcl, // прямоугольная область LONG clrFore, // цвет текста LONG clrBack, // цвет фона ULONG flCmd); // флаги режима отображения текста

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




Начало  Назад  Вперед