Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
14-1106757005
Delphin
2005-01-26 19:30
2005.02.20
Помогите решить задачу


14-1107089818
Qu
2005-01-30 15:56
2005.02.20
Реестр в win xp


14-1106707761
Думкин
2005-01-26 05:49
2005.02.20
С Днем рождения! 26 января


3-1106644487
Lucifer
2005-01-25 12:14
2005.02.20
Ошибка синтаксиса From


1-1107822395
NickKuz
2005-02-08 03:26
2005.02.20
как можно заставить Delphi 7 запихнуть все нужные DLL в прогу




   Наверх