Подписаться на RSS рассылку
Главная » Статьи по Delphi » Текст и строки » Узнать ширину строки в пикселях

Узнать ширину строки в пикселях

Автор: Борисов С. А.

Tweet

Иногда необходимо узнать какой размер занимает строка, но не количество символов, а значение в пикселях. Ведь не все шрифты моноширинные, где размер всех символов одинаков.

Итак, для того, чтобы узнать размер строки будем пользоваться функцией TextWidth() объекта TCanvas.

function TCanvas.TextWidth(const Text: string): Integer;

Например, нужно узнать ширину строки "Добрый день!". В обработчике события клика по кнопке пишем:

var w: integer;
...
w := Canvas.TextWidth('Добрый день!');
ShowMessage(IntToStr(w));

Тут все просто. Функция TextWidth возвращает тот самый размер который нам нужен. После того, как получили размер, просто выводим его значение с помощью ShowMessage(), чтобы поглядеть, что же мы получили.

А как узнать ширину строки жирного начертания? Ведь такая строка будет занимать больший размер! Да тут все просто. Ведь функция TextWidth() это метод объекта TCanvas. А у TCanvas можно установить любые параметры шрифта. Например:

Canvas.Font.Size := 50; // изменим размер
Canvas.Font.Style := [fsBold]; // сделаем шрифт жирного начертания

Просто нужно установить нужный стиль шрифта перед вычислением.

Также хочу заметить, в примерах я использовал канву формы.

Помимо функции TextWidth() для вычисления ширины, существует функция TextHeight() для вычисления высоты.

Просмотров: 16391

Обсудить на форуме


Имя *:
Email:


Код *:

Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.