|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
DrawText
The DrawText function draws formatted text in the specified rectangle. It formats the text according to the specified method (expanding tabs, justifying characters, breaking lines, and so forth).
int DrawText(
HDC hDC, // handle to device context LPCTSTR lpString, // pointer to string to draw int nCount, // string length, in characters LPRECT lpRect, // pointer to structure with formatting dimensions UINT uFormat // text-drawing flags );
Parameters
hDC
Identifies the device context.
lpString
Points to the string to be drawn. If the nCount parameter is -1, the string must be null-terminated.
nCount
Specifies the number of characters in the string. If nCount is -1, then the lpString parameter is assumed to be a pointer to a null-terminated string and DrawText computes the character count automatically.
lpRect
Points to a RECT structure that contains the rectangle (in logical coordinates) in which the text is to be formatted.
uFormat
Specifies the method of formatting the text. It can be any combination of the following values:
Value Description DT_BOTTOM Justifies the text to the bottom of the rectangle. This value must be combined with DT_SINGLELINE. DT_CALCRECT Determines the width and height of the rectangle. If there are multiple lines of text, DrawText uses the width of the rectangle pointed to by the lpRect parameter and extends the base of the rectangle to bound the last line of text. If there is only one line of text, DrawText modifies the right side of the rectangle so that it bounds the last character in the line. In either case, DrawText returns the height of the formatted text but does not draw the text. DT_CENTER Centers text horizontally in the rectangle. DT_EDITCONTROL Duplicates the text-displaying characteristics of a multiline edit control. Specifically, the average character width is calculated in the same manner as for an edit control, and the function does not display a partially visible last line. DT_END_ELLIPSIS or DT_PATH_ELLIPSIS Replaces part of the given string with ellipses, if necessary, so that the result fits in the specified rectangle. The given string is not modified unless the DT_MODIFYSTRING flag is specified.You can specify DT_END_ELLIPSIS to replace characters at the end of the string, or DT_PATH_ELLIPSIS to replace characters in the middle of the string. If the string contains backslash (\) characters, DT_PATH_ELLIPSIS preserves as much as possible of the text after the last backslash. DT_EXPANDTABS Expands tab characters. The default number of characters per tab is eight. DT_EXTERNALLEADING Includes the font external leading in line height. Normally, external leading is not included in the height of a line of text. DT_LEFT Aligns text to the left. DT_MODIFYSTRING Modifies the given string to match the displayed text. This flag has no effect unless the DT_END_ELLIPSIS or DT_PATH_ELLIPSIS flag is specified. DT_NOCLIP Draws without clipping. DrawText is somewhat faster when DT_NOCLIP is used. DT_NOPREFIX Turns off processing of prefix characters. Normally, DrawText interprets the mnemonic-prefix character & as a directive to underscore the character that follows, and the mnemonic-prefix characters && as a directive to print a single &. By specifying DT_NOPREFIX, this processing is turned off. DT_RIGHT Aligns text to the right. DT_RTLREADING Layout in right to left reading order for bi-directional text when the font selected into the hdc is a Hebrew or Arabic font. The default reading order for all text is left to right. DT_SINGLELINE Displays text on a single line only. Carriage returns and linefeeds do not break the line. DT_TABSTOP Sets tab stops. Bits 15-8 (high-order byte of the low-order word) of the uFormat parameter specify the number of characters for each tab. The default number of characters per tab is eight. DT_TOP Top-justifies text (single line only). DT_VCENTER Centers text vertically (single line only). DT_WORDBREAK Breaks words. Lines are automatically broken between words if a word would extend past the edge of the rectangle specified by the lpRect parameter. A carriage return-linefeed sequence also breaks the line.
Note that the DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, and DT_NOPREFIX values cannot be used with the DT_TABSTOP value.
Return Values
If the function succeeds, the return value is the height of the text.
Remarks
The DrawText function uses the device context's selected font, text color, and background color to draw the text. Unless the DT_NOCLIP format is used, DrawText clips the text so that it does not appear outside the specified rectangle. All formatting is assumed to have multiple lines unless the DT_SINGLELINE format is specified. If the selected font is too large for the specified rectangle, the DrawText function does not attempt to substitute a smaller font.
See Also
GrayString, TabbedTextOut, TextOut, RECT
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
DrawText
Функция DrawText делает форматированным текстом в определенном прямоугольнике. Это форматирует текст согласно определенному методу (расширяющиеся таб., оправдывающие символы, красные строки, и так далее).
int DrawText(
HDC hDC, // РУЧКА на устройство контекстного lpString LPCTSTR, // указателя, чтобы нанизываться, чтобы делать int nCount, // длиной строки, в символах LPRECT lpRect, // указателе в структуру с форматированием флагов измерений UINT uFormat // текстовый чертеж );
Параметры
hDC
Идентифицирует контекст устройства.
lpString
Точки на строку, которые нужно делать. Если параметр nCount - -1, строка должна быть недействительный расторгнутой.
nCount
Определяет количество символов в строке. Если nCount - -1, тогда lpString параметр принят, чтобы быть указателем в недействительный расторгнутой строке и DrawText вычисляет символьный счет автоматически.
lpRect
Точки на структуру RECT, которые содержат прямоугольник (в логических координатах) в котором текст должен быть отформатирован.
uFormat
Определяет метод форматирования текста. Это может быть любой комбинацией следующего величин:
Описание Величины DT_BOTTOM Оправдывает текст в низ прямоугольника. Эта величина должна быть объединена DT_SINGLELINE. DT_CALCRECT Определяет ширину и высоту прямоугольника. Если есть многочисленные строки текста, DrawText использует ширину прямоугольника указанного, чтобы параметром lpRect и распространяет базу прямоугольника на связавшее последнюю строку текста. Если есть только одна строка текста, DrawText модифицирует сторону права прямоугольника чтобы это ограничивало последний символ на линии. В любом случае, DrawText возвращает высоту форматированного текста но не делает текстом. DT_CENTER Центрирует текст горизонтально в прямоугольнике. DT_EDITCONTROL Дублирует текстовые-отображающие характеристики управления редактирования multiline. Особо, средняя символьная ширина вычисляется так же как для управления редактирования, и функция не отображает частично видимую последнюю строку. DT_END_ELLIPSIS или DT_PATH_ELLIPSIS Заменяет часть данной строки эллипсами, если необходимо, чтобы результат устанавливался в определенном прямоугольнике. Данная строка не модифицирована если флаг DT_MODIFYSTRING не определен.Вы можете определить DT_END_ELLIPSIS, чтобы заменять символы в конце строки, или DT_PATH_ELLIPSIS, чтобы заменять символы в середине строки. Если строка содержит обратную косую черту символов (\), DT_PATH_ELLIPSIS сохраняет насколько возможно текста после последней обратной косой черты. DT_EXPANDTABS Расширяет символы таб.. По умолчанию количество символов за таб. - восемь. DT_EXTERNALLEADING Включает шрифтовую внешнюю подачу в высоту строки. Нормально, внешняя подача не включена в высоту строки текста. DT_LEFT Выравнивает текст налево. DT_MODIFYSTRING Модифицирует данную строку, чтобы соответствовать отображаемому тексту. Этот флаг не имеет эффект если DT_END_ELLIPSIS или флаг DT_PATH_ELLIPSIS не определен. DT_NOCLIP не Делает вырезав. DrawText ОТЧАСТИ более быстрый когда DT_NOCLIP использован. DT_NOPREFIX Выключает обработку префиксных символов. Нормально, DrawText интерпретирует мнемонический-префиксный символ & как директиву, чтобы подчеркивать символ за которым следует, и мнемонические-префиксные символы && как директива, чтобы печатать единственный &. Определяя DT_NOPREFIX, эта обработка выключена. DT_RIGHT Выравнивает текст направо. Формат DT_RTLREADING в справа налево читать порядок для двунаправленного текста когда шрифт выбранный в hdc - Еврейский или Арабский шрифт. По умолчанию чтение порядка для всего текста - слева направо. DT_SINGLELINE Отображает текст на линейной линии только. Переводы строки и переводы строки не прерывать линию. DT_TABSTOP Устанавливает стоп таб.. Кусает 15-8 (старший байт младшего слова) параметра uFormat определять количество символов для каждого таб.. По умолчанию количество символов за таб. - восемь. Верх-DT_TOP оправдывает текст (линейная линия только). DT_VCENTER Центрирует текст вертикально (линейная линия только). DT_WORDBREAK Прерывает слово. Строки автоматически прерваны между словом если слово должно расширить прошлому край прямоугольника определенного параметром lpRect. Перевод строки-перевод строки последовательности также прерывает линию.
Отметьте, что DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, и величины DT_NOPREFIX не могут быть использованы величиной DT_TABSTOP.
Обратные Величины
Если функция добивается успеха, обратная величина является высотой текста.
Замечания
Функция DrawText использует контекстный выбранный шрифт устройства, текстового цвета, и цвет фона, чтобы делать текстом. Если формат DT_NOCLIP не использован, DrawText вырезает текст чтобы он не появлялся за пределами определенного прямоугольника. Все форматирование принято, чтобы иметь многочисленные строки если формат DT_SINGLELINE не определен. Если выбранный шрифт слишком большой для определенного прямоугольника, функция DrawText не пытается заменять меньший шрифт.
Смотри Также
GrayString, TabbedTextOut, TextOut, RECT
|
|
|
|
| |