![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
робота со шрифтом [D7, Win2k, WinXP]
integeri © (2006-01-24 20:02:00)Нужно опредилть висоту ( в пикселях) которою будет занимать текст длиной N букв которой помещон в копонент типа Lable , но ширина компонента Lable стабильна.
Тоесть нужно пощитать висоту букв + сколько строк получилося !
Например єсть строка "Здесь обсуждаются вопросы связанные с DELPHI, но не попадающие в другие конференции. Соблюдайте тематику конференции" а нужно опредилить какая будеть висота етого текста когда уместьть в компонент определонной ширини.
тоесть вот так
"Здесь обсуждаются вопросы
связанные с DELPHI, но не по
падающие в другие конфере
нции. Соблюдайте тематику к
онференции"
integeri (2006-01-26 17:09:00) [1]получается сначала нужно будеть вставить текс в компонент на форме взять его висоту а потом вставлять у word ????
VirEx (2006-01-25 19:36:00) [2]я недавно с таким сталкивался, вот на API:
var
dc:hDC;
size_:tsize;
begin
GetTextExtentPoint32(label1.Canvas.Handle, PChar(Label1.caption),length(PChar(label1.Caption)), size_);
//то что вам нужно:
size_.cx;
size_.cy
Игорь Шевченко (2006-01-25 18:34:00) [3]DT_CALCRECT or DT_WORDBREAK
Игорь Шевченко (2006-01-25 18:33:00) [4]
> Нужно опредилть висоту ( в пикселях) которою будет занимать
> текст длиной N букв
DrawText (....DT_CALCRECT)
Зависит от выбранного шрифта.
integeri (2006-01-25 18:30:00) [5]я так понял
Y := Form.canvas.TextHeight(Ваш текст)
X := Form.canvas.TextWidth(Ваш текст)
здесь непоможет
integeri (2006-01-25 17:08:00) [6]и устанавливайте высоту лейбла, в зависимости от длинны текста - лейбл здесь приведьон как пример , а всталять я буду в WORD в обект TextBox но щася я делаю так вставляю текс проверяю висоту етого TextBox єсли не входит удаляю текст по 3 буковки , но работаєт очень медлино а хотелось зразу вставльть нужние куски з нужним текстом !!!
Константинов (2006-01-24 21:56:00) [7]а проще:
Label.WordWrap := true;
и устанавливайте высоту лейбла, в зависимости от длинны текста
Константинов (2006-01-24 21:52:00) [8]Y := Form.canvas.TextHeight(Ваш текст)
X := Form.canvas.TextWidth(Ваш текст)