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

Вниз

Изменить высоту Canvas a   Найти похожие ветки 

 
DelphiLexx ©   (2005-11-22 18:12) [0]

Есть TPanel на TPanel"и лежит TPaintBox.Align = alClient TPaintBox"е. Есть процедура в которую передается Canvas(а именно TPaintBox.Canvas), котором автоматически рисуется перевернутый текст(90 градусов) и его масштабирование происходит точно по его размеру. Но мне нужно сделать не по всей длине TPaintBox.Canvas"a а чуть меньше всей длины. Поэтому нужно как-то уменьшить высоту TPaintBox.Canvas"a при
этом PainttBox.Align = alClient (изменять FontData.fWidth не предлагать).

procedure AdvTextOut(Canvas: TCanvas; const X, Y, Angle: Integer; const aText: String);
var
 OldFont, NewFont: THandle;
 FontData: TLogFont;
begin
 if Assigned(Canvas) then
   GetObject(Canvas.Font.Handle, SizeOf(FontData), @FontData)
 else
   Exit;
 FontData.lfEscapement := Angle * 10;
 FontData.lfOrientation := FontData.lfEscapement;
 NewFont := CreateFontIndirect(FontData);
 OldFont := SelectObject(Canvas.Handle, NewFont);
 Canvas.TextOut(X, Y, aText);
 SelectObject(Canvas.Handle, OldFont);
 DeleteObject(NewFont);
end;


 
Leonid Troyanovsky ©   (2005-11-22 18:45) [1]


> DelphiLexx ©   (22.11.05 18:12)  
> Есть TPanel на TPanel"и лежит TPaintBox.Align = alClient
> TPaintBox"е. Есть процедура в которую передается Canvas(а
> именно TPaintBox.Canvas), котором автоматически рисуется
> перевернутый текст(90 градусов) и его масштабирование происходит
> точно по его размеру. Но мне нужно сделать не по всей длине
> TPaintBox.Canvas"a а чуть меньше всей длины. Поэтому нужно
> как-то уменьшить высоту TPaintBox.Canvas"a при


> procedure AdvTextOut(Canvas: TCanvas; const X, Y, Angle:
>  Integer; const aText: String);

Ну и передай туда еще и Rect: TRect в который должно оное уместиться.

А ты полагаешь, что приведенный код делает чего-то полезное?

--
Regards, LVT.


 
TUser ©   (2005-11-22 18:54) [2]

Создай дополнительную канвас, и потом - Copyrect. НАпример так.


 
DelphiLexx ©   (2005-11-22 20:14) [3]


> Создай дополнительную канвас, и потом - Copyrect. НАпример
> так.

Как так?


 
DelphiLexx ©   (2005-11-22 20:15) [4]


> А ты полагаешь, что приведенный код делает чего-то полезное?

Просто уверен.



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

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

Наверх




Память: 0.48 MB
Время: 0.048 c
14-1132836140
syte_ser78
2005-11-24 15:42
2005.12.18
существуюттли форумы для локальной сети?


2-1133434609
JTAG
2005-12-01 13:56
2005.12.18
Народ почему на форме надпись не создается в следующем коде 4 ст


2-1133273255
бедный студент
2005-11-29 17:07
2005.12.18
шаг цикла


4-1129824721
Эксперт
2005-10-20 20:12
2005.12.18
Вставить и растянуть рисунок на фон ListView


2-1133602150
kop
2005-12-03 12:29
2005.12.18
Свойство