Текст мы все знаем. Кто помнит 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 - выводит текст в заданный первым аргументом прямоугольник. Второй - третий аргумент обозначают точку вывода верхнего левого угла текста. Все, что не попадает в прямоугольник, обрезается.
|