Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Длинна текста в пикселях, Как получить? 
:(
    Опции темы
Bodya
Дата 21.8.2003, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 13.6.2003

Репутация: нет
Всего: нет



Как получить длинну текста в пикселях?
PM MAIL   Вверх
<Spawn>
Дата 21.8.2003, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 2
Всего: 64



функция GetTextExtentPoint32.
Но проще всего использовать класс Canvas, в котором все это реализовано.(Методы TextWidth, TextHeight и т.д.)


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Bodya
Дата 22.8.2003, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 13.6.2003

Репутация: нет
Всего: нет



У меня немного сложнее (как мне кажется). Есть переменная типа string. Нужно получить длинну текста который записан в эту переменную именно в пикселях. Это нужно для того чтоб установить свойство Width у компанента TStatusPenel равное длинне текста переменной.
Короче говоря если текст не влазит в TStatusPenel.Text , то TStatusPenel должен раздвинуться.
PM MAIL   Вверх
<Spawn>
Дата 22.8.2003, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 2
Всего: 64



Посмотри это:

Код
procedure TForm1.Button1Click(Sender: TObject);
var
TestLabel:TLabel;
TextWidth:Integer;
begin
try
TestLabel:=TLabel.Create(nil);
Testlabel.Parent:=Self;
TestLabel.Font.Assign(StatusBar1.Font);
Testlabel.Caption:=Edit1.Text;
TextWidth:=TestLabel.Canvas.TextWidth(TestLabel.Caption)+4; //прибавка 4 необходима, поскольку помимо длины самого текста нужно учитывать расстояние от TStatusPanel.Left до текста и от текста до TStatusPanel.Right
finally
FreeAndNil(TestLabel);
end;
if StatusBar1.Panels[0].Width<TextWidth then
StatusBar1.Panels[0].Width:=TextWidth;
StatusBar1.Panels[0].Text:=Edit1.Text;
end;


Это сообщение отредактировал(а) <Spawn> - 22.8.2003, 12:04


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Bodya
Дата 22.8.2003, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 13.6.2003

Репутация: нет
Всего: нет



Спасибо! Все заработало.
Ура!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.