Кривой тектс

  • Автор темы z12
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Z
#1
делаю программу для работы с текстом

сталкнулся с такой проблемой - текст выводится криво, т.е. если я ему задаю рамку скажем 40 на 30 пикселей то текст вываливается из неё(разумеется я выставляю свойства текста 40 на 30 пикселей)
так же текст выводится с форматированием, типа отступ свверху и с низу

вот мой код :
Код:
var 
 lf    : TLogFont; 
 OldBkMode : integer; 
begin 
 TextReMove.Refresh; 
 with TextReMove.Canvas do begin 
  FillChar(lf, SizeOf(lf), 0); 
  with lf do begin 
    lfHeight := 40; 
    lfWidth  := 30; 
    lfWeight := 1000; 
  end; 
  Font.Handle := CreateFontIndirect(lf); 
  OldBkMode  := SetBkMode(Handle, TRANSPARENT); 
  TextOut(100, 100, 'TEXT'); 
  SetBkMode(Handle, OldBkMode); 
 end; 
end;
ошибка может и не появится, просто надо погонять вличины lfHeight и lfWidth

P.s чтобы заменить наезд надо вокруг текста нарисовать регион, ваще суть проги в том чтобы мышкой подбирать размер текста
 
G

gozer

#2
Могу лишь посоветывать использовать не Canvas, а что нибудь продвинутое, к примеру DirectX, а в простых случая лучше DelphiX, он прост, научиться быстро, но в будущем все графические проблемы в программых решит. Так как скорость вывода не маленькая, а графику и текст разнообразным видом впихнуть безпроблемно. В компоненте много примеров, а программа увеличивается на 100 кб в среднем, с использованием всех главных компонент.
 
Z

Zakus

#3
Для: gozer
DelphiX прошлый век... еслиб юзали гугл - зналиб что есть что то получше... например Asphyre

кроме того, это не нормально для задачи такого рода юзать ДиректХ...
 
Статус
Закрыто для дальнейших ответов.