Методы рисования. Текст.

Текст мы все знаем. Кто помнит Turbo Pascal, там были такие процедуры TextOut и прочее. Выведение текста на канве очень это напоминает. Текст - это, можно сказать, отдельный инструмент, контролируемый через свойство Font класса TFont. С этим классом мы встречались не раз. Все его свойства знакомы, как родная клавиатура :). Хочу только обратить внимание на свойство Style. Оно слеплено из щаблонного класса Set, называется TFontStyles. Опять таки обращаясь к Паскалю, напомню, что там есть такие типы данных - множества. В C++ вместо этого используются битовые поля. Но VCL была изначально написана на Объектном Паскале, поэтому этот класс и ввели. Техника работы:

TFontStyles fs;//объявление класса
fs<<fsBold; //включение элемента в множество
if(s.Contains(fsBold){/*что-то делает*/} //проверка на вхождение
fs>>fsBold //исключение элемента из множества
fs=TFontStyles()<<fsBold<<fsItalic //включение с автоматической перерисовкой

Пока хватит, а то я далеко от темы ушел. Пару слов о Charset. Всегда ставьте DEFAULT_CHARSET, если хотите, чтобы приложения были более-менее переносимы. Обратите внимание - при выборе шрифта из диалога Charset будет постален, как Вы это укажете. Опять-таки - лучше DEFAULT_CHARSET - раскладка, принимаемая по умолчанию. Значит, методы текста:

  • TextOut - выводит заданную строку на заданных координатах.
  • TextExtent - возвращает размеры, необходимые для выведения строки текста первого и последнего аргумента.
  • TextWidth - то же самое, только ширина.
  • TextHeight - только высота
  • TextRect - выводит текст в заданный первым аргументом прямоугольник. Второй - третий аргумент обозначают точку вывода верхнего левого угла текста. Все, что не попадает в прямоугольник, обрезается.
 
« Предыдущая статья   Следующая статья »