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

Вниз

Вертикальный текст в TCanvas   Найти похожие ветки 

 
Vcoder ©   (2002-11-28 22:02) [0]

Вопрос конечно ламерский, но прошу не оставить без ответа. Можно ли процедурой TCanvas.TextOut вывести текст не слева направо, а снизу вверх?
Если да, то как?
Если нет, то как можно на TImage вывести текст в вертикальном направлении?


 
konstantinov   (2002-11-28 23:10) [1]

Загляни в кладовку. Я недавно туда свой RotateLabel скинул. Ничего кроме как вращать текст он не умеет. Код простенький, разберешся. А вот ПОЧЕМУ текст выводится под углом я так и не разобрался до конца. Был в FAQ пример, на его основе и смастерил компонент.


 
Fantasist ©   (2002-11-29 03:27) [2]

Самый известный способ это CreateFont(чаще CreateFontIndirect это значит еще GetLogFont), и SelectObject(<созданный фонт>), и можешь рисовать текст под любым углом. Сам так делал.


 
mukha ©   (2002-11-29 07:30) [3]

А может так?

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
Var
lf: TLogFont;
x, y: Integer;
begin
Image1.Transparent:=true;
With Image1 Do
With Canvas Do
Begin
FillRect( ClientRect );
Font.Name := "Arial";
Font.Size := 20;
Font.Style := [fsBold];
Font.Color:=clLime;
x:= 40;
y:= Height - 10;
GetObject( Font.Handle, Sizeof(lf), @lf );
lf.lfEscapement := 900; // Угол наклона в десятых градуса
Font.Handle := CreateFontIndirect( lf );
TextOut(x-TextHeight("A")-5, y,"Текст по вертикали" );
DeleteObject( Font.Handle );
Font.Handle := 0;
End;
end;


 
Fantasist ©   (2002-11-29 18:57) [4]


> mukha © (29.11.02 07:30)
> А может так?


Именно про это я и говорил, только с ипользованием VCL-ных оберток.


 
Vcoder ©   (2002-11-29 21:37) [5]


> Fantasist © (29.11.02 18:57)

Что ты понимаешь под VCL-ными обертками? Поясни please...


 
Fantasist ©   (2002-11-30 21:34) [6]


> Что ты понимаешь под VCL-ными обертками


Ну, можно сказать, то же, что и все. :)
TFont - класс, который инкапсулирует Win API для работы со шрифтами, TCanvas - инкапсулирует Device Context и т. д. Вместо "класс который инкапсулирует" говорят "класс-враппер" или просто "враппер", что по русски - "обертка"




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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
3-36031
Alex7
2002-11-25 01:32
2002.12.12
Проблема с MS ACCESS


1-36284
Mitrofan
2002-12-02 17:51
2002.12.12
Получить все даты между Дата1 и Дата2


3-35998
Miko
2002-11-23 14:48
2002.12.12
Драйвера БД


1-36245
Vladimir SOA
2002-12-02 08:35
2002.12.12
Установка Delphi 4.0 в Windows 2000/XP


14-36355
Anatoly Podgoretsky
2002-11-19 07:36
2002.12.12
Именинники 19 ноября