Назначение: определяет способ выравнивания текста, который рисуется с помощью функций TextOut и ExtTextOut. Определяет также способ использования текущих координат.
Синтаксис:
UINT GetTextAlign ( ) const ;
UINT SetTextAlign ( UINT nFlags ) ;
Возвращаемое значение: предыдущее значение флагов, если функция успешно выполнена, и ноль в противном случае.
Параметры:
nFlagsопределяет способ выравнивания текста. Этот параметр может быть суммой одного или нескольких флагов из трёх категорий. Можно выбирать только один флаг из каждой категории.
Первая категория флагов определяет положение строки в горизонтальном направлении относительно x-координаты:
TA_CENTER координата определяет положение центра строки.
TA_LEFT координата определяет положение левого края строки (по умолчанию).
TA_RIGHT координата определяет положение правого края строки.
Вторая категория флагов определяет положение строки в вертикальном направлении относительно y-координаты:
TA_BASELINE координата определяет положение базовой линии строки.
TA_BOTTOM координата определяет положение нижнего края строки.
TA_TOP координата определяет положение верхнего края строки (по умолчанию).
Третья категория определяет, обновлены ли текущие координаты после вызова функции вывода текста:
TA_NOUPDATECP не обновляет текущую координату (по умолчанию)
TA_UPDATECP обновляет текущую x-координату. Новое положение находится с правой стороны рабочего прямоугольника. Когда этот флаг установлен, координаты, указанными в вызовах функции TextOut, не используются.
Ниже приведён пример программы, которая в диалоговом окне изменяемого размера отображает синий заголовок на сером фоне, белый прямоугольник и красный текст внутри прямоугольника. Текст выходящий за границы прямоугольника отсекается. Вид диалогового окна приведён на рисунке.
Поскольку пользователю разрешено изменять размеры окна, то в программе предусмотрено масштабирование изображения – заголовок всегда располагается вверху экрана по центру, прямоугольник всегда занимает центральную четверть экрана, текст рисуется в центре экрана. Масштабирование изображения достигается следующими мерами:
Ø Рисование осуществляется в объявленной функции DrawText члене класса диалогового окна CtextDlg.
Ø Вызов функции в объявленной функции DrawText члене класса диалогового окна CtextDlg осуществляется в методе OnPaint, который вызывается при каждом изменении размеров экрана.
Ø Размеры клиентской области окна определяются с помощью функции GetClientRect
void CTextDlg::OnPaint() // Функция перерисовки окна
{
DrawText () ;
}
void CTextDlg::DrawText() // Функция рисования в окне
{
// объявление экземпляра класса CClientDC для работы с клиентской областью - текущего окна
CClientDC dc ( this ) ; // контекст устройства - текущее окно
CRect ClientRec ; // параметры клиентской области
CString Title = "Заголовок"; // объявление строки заголовка
CString Text = "Пример текста в рамке"; // объявление строки текста
COLORREF crBlue = RGB ( 0 , 0 , 255 ); // объявление синего цвета для текста
COLORREF crGray = RGB ( 232 , 232 , 232); // объявление серого цвета для фона
COLORREF crRed = RGB ( 255 , 0 , 0 ); // объявление красного цвета для текста
COLORREF crWhite = 0x00FFFFFF ; // объявление белого цвета для фона
GetClientRect ( &ClientRec ) ; // получение параметров клиентской области
int L=ClientRec.right ; // ширина диалогового окна
int H=ClientRec.bottom ; // высота диалогового окна
dc.SetBkColor ( crGray ) ; // установка цвета фона
dc.SetTextColor ( crBlue ) ; // установка цвета текста
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.