Delphi 2006 nın kod satırında label1.caption:='Ahmet' şeklinde yazdığımda; Program çalıştığında
A
h
m
e
t
şeklinde yazmasını istiyorum.
Nasıl yapabilirim? Yanıtlayacak arkadaşlarıma teşekkür ederim.
Delphide düşey yazı yazdırmak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Delphide düşey yazı yazdırmak
Basit düşünerek :
(1) Label'in Width değerini 1 harf sığacak kadar ver.
(2) Yazacağın kelimeler için her harfi birer boşluk vererek yaz.
(3) Label'in AutoSize özelliğini FALSE yap
(4) Label'in WordWrap özelliğini TRUE yap
Daha komplike düşünmek istersen sana CANVAS TEXTOUT olayını tarif ederim.
(1) Label'in Width değerini 1 harf sığacak kadar ver.
(2) Yazacağın kelimeler için her harfi birer boşluk vererek yaz.
(3) Label'in AutoSize özelliğini FALSE yap
(4) Label'in WordWrap özelliğini TRUE yap
Daha komplike düşünmek istersen sana CANVAS TEXTOUT olayını tarif ederim.
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Delphide düşey yazı yazdırmak
Mustafa Bey bu yanıtınız aklıma gelmemişti. Çok teşekkür ederim.
Canvas Textout olayınıda tariflersenin. Öğrenmiş olacağım için sevinirim.
Canvas Textout olayınıda tariflersenin. Öğrenmiş olacağım için sevinirim.
Re: Delphide düşey yazı yazdırmak
- Forumda bir sürü örneği olmakla birlikte, buna da bir örnekle açıklamış olalım..
Kullanımı :

Kod: Tümünü seç
Procedure DikeyYazi( Image:TImage; strYazi:String; iFontSize:Integer );
Var
Bitmap : TBitmap;
Rect : TRect;
i : Integer;
begin
Bitmap := TBitmap.Create;
Bitmap.Canvas.Font.Size := iFontSize;
Rect.Left := 0;
Rect.Top := 0;
Rect.Right := Bitmap.Canvas.TextWidth( 'W' );
Rect.Bottom := Bitmap.Canvas.TextHeight( 'H' ) * Length(strYazi);
Bitmap.Width := Rect.Right;
Bitmap.Height:= Rect.Bottom;
Bitmap.Canvas.Brush.Style := bsSolid;
Bitmap.Canvas.Brush.Color := clYellow;
Bitmap.Canvas.FillRect( Bitmap.Canvas.ClipRect );
Bitmap.Canvas.Brush.Style := bsClear;
for i := 1 to Length(strYazi)
do Bitmap.Canvas.TextOut( 0, ( (i-1)* Bitmap.Canvas.TextHeight( 'H' ) ), strYazi[i]);
Image.Width := Bitmap.Width;
Image.Height := Bitmap.Height;
Image.Picture.Bitmap.Assign(Bitmap);
Bitmap.Free;
end;
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
DikeyYazi( Image1, 'Muharrem ARMAN', 16);
end;