Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 17:11   #1
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
Вопрос Как узнать размер места, занимаемого текстом

Как с помощью делфи узнать размер шрифта (длина и ширина занимаемые текстом)
Т.е. даны: название шрифта, текст, размер.

Пример:
Arial, 'Simple text' ,15

Программа должна вывести: 17х79

Как такое осуществить?
ramzes777 вне форума Ответить с цитированием
Старый 17.10.2011, 18:11   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Просто.
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
Label1.Font.Name:='Arial';
Label1.Font.Size:=15;
Label1.Caption:='Simple text';
Label1.Repaint;
Label2.Caption:=IntToStr(Label1.Height)+'x'+IntToStr(Label1.Width);
end;
mihali4 вне форума Ответить с цитированием
Старый 18.10.2011, 07:52   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Код:
program Project1;
{$APPTYPE CONSOLE}
uses  SysUtils, windows, Graphics;

var tmp : tsize;
ourfnt : tfont;
const ourtxt = 'hello, world!';
fontname = 'arial';

function gettextextents (text : string; afont : tfont): Tsize;
var b : tbitmap;
begin
  b := tbitmap.create;
  b.canvas.font := afont;
  result := b.canvas.textextent(text);
  freeandnil(b);
end;

begin
  ourfnt := tfont.create;
  ourfnt.name := fontname;
  ourfnt.Size := 10;
  tmp := gettextextents(ourtxt, ourfnt);
  Writeln(format('the "%s" text using font %s width is %d and height is %d',
    [ourtxt, fontname,tmp.cx, tmp.cy]));
  freeandnil(ourfnt);
  Readln;
end.
phomm вне форума Ответить с цитированием
Старый 18.10.2011, 10:52   #4
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

Спасибо! Взял код Михалыча
ramzes777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать размер изображения Lokos Мультимедиа в Delphi 3 21.12.2009 16:44
как програамно узнать размер папки VIR1435 Общие вопросы Delphi 2 05.11.2009 18:06
Как програмно узнать размер файла? Дима я Общие вопросы C/C++ 3 09.10.2009 21:37
Как узнать размер файла? photozaz Общие вопросы Delphi 4 01.08.2008 00:29
Как узнать размер массива мандарин Общие вопросы Delphi 2 30.05.2007 19:18