Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

2 проблемы с DrawText   Найти похожие ветки 

 
DmiSb   (2005-01-05 06:31) [0]

Уважаемые мастера, помогите решить две проблемки.

1. Рисую на Bitmap~e рамочку

Br := CreateSolidBrush(DWORD(clBlack));
FillRect(DC, MakeRect( L, T, L+B, T+H ), Br );
FillRect(DC, MakeRect( L, T, L+W, T+B ), Br );
FillRect(DC, MakeRect( L + W - B, T, L+W, T+H ), Br );
FillRect(DC, MakeRect( L, T+H - B, L+W, T+H ), Br );
DeleteObject(Br);

здесь T - Top;
     L - Left;
     W - Width;
     H - Height;
     B:= 1;

Потом внутри рамочки рисую текст

R.Left:=L+1;
R.Top:=T+1;
R.Right:=L+W-1;
R.Bottom:=T+H-1;
Fmt := DT_LEFT or DT_TOP or DT_WORDBREAK;
DrawText(DC, PChar(info.Text), Length(info.Text), R, Fmt );

Все ок. Если изменяю DT_TOP на DT_VCENTER или DT_BOTTOM, выравнивание остается все равно по DT_TOP. Как это решается ?

2. Никак не пойму какой шрифт лучше использовать, чтобы мог принимать по высоте нужные мне значения, а то он либо 10 либо сразу 15, промежуточная высота не получается. И почему-то тот же шрифт 10 полученный на битмапе меньше, чем шрифт у компонентов лежащих на форме с такими же параметрами.

Заранее спасибо.


 
TUser ©   (2005-01-05 13:45) [1]

Может из-за этого?
Value DescriptionDT_BOTTOM Justifies the text to the bottom of the
               rectangle. This value must be combined with
               DT_SINGLELINE
.
DT_VCENTER Centers text vertically (single line only).


 
TUser ©   (2005-01-05 13:46) [2]


> 2. Никак не пойму какой шрифт лучше использовать, чтобы
> мог принимать по высоте нужные мне значения, а то он либо
> 10 либо сразу 15, промежуточная высота не получается. И
> почему-то тот же шрифт 10 полученный на битмапе меньше,
> чем шрифт у компонентов лежащих на форме с такими же параметрами.

TrueType font нужен, а у тебя, значит, растровый.
На форме - MS Sans Serif, а у тебя, наверное, какое-нибудь другой.


 
DmiSb   (2005-01-05 14:44) [3]

2 TUser
Пробовал и MS Sans Serif, и Arial, и Tahoma - все одно. Растровый это какой ?


 
DmiSb   (2005-01-05 14:51) [4]

2 TUser
Спасибо за DT_SINGLELINE. Все заработало.



Страницы: 1 вся ветка

Текущий архив: 2005.02.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
14-1107266227
AlexG
2005-02-01 16:57
2005.02.20
Что мне добавить и нравится ли структура?


1-1107843367
hgd
2005-02-08 09:16
2005.02.20
Вопрос про RichEdit


3-1106419687
stud1
2005-01-22 21:48
2005.02.20
Компоненты ввода даты в базу данных


3-1106044778
Sectey
2005-01-18 13:39
2005.02.20
Отслеживание Print на клиенте (ADO)


4-1104957562
dms_main
2005-01-05 23:39
2005.02.20
ClipBoard