Форум: "Основная";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизИзменить высоту 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c