Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Label um 90° drehen (https://www.delphipraxis.net/73598-label-um-90%B0-drehen.html)

made in Germany 20. Jul 2006 11:57


Label um 90° drehen
 
Hallo!

Kann mir jemand sagen, wie ich eine TLabel-Komponente um 90° drehen kann?

DANKE!

Neutral General 20. Jul 2006 12:03

Re: Label um 90° drehen
 
Hi,

Also theoretisch

Hoehe = Breite
Breite = Hoehe

Aber ich schätze du willst das der Text dann auch senkrecht da steht ?
Und das ist soweit ich weiß mit nem normalen Label nicht möglich...

Gruß
Neutral General

made in Germany 20. Jul 2006 12:18

Re: Label um 90° drehen
 
kann ich den text wenigstens
V
E
R
T
I
K
A
L

schreiben?

vlees91 20. Jul 2006 12:19

Re: Label um 90° drehen
 
ja mit #10 + #13 zwischen jedem buchstaben

Muetze1 20. Jul 2006 12:19

Re: Label um 90° drehen
 
Wenn du den Text selber ausgibst (also ein TextOut Befehl im OnPaint), dann kannst du ihn leicht drehen. Würde dir sowas auch helfen?

Neutral General 20. Jul 2006 12:20

Re: Label um 90° drehen
 
Zitat:

Zitat von vlees91
ja mit #10 + #13 zwischen jedem buchstaben

Das geht beim Label nicht.

mbamler 20. Jul 2006 12:22

Re: Label um 90° drehen
 
Zitat:

Zitat von made in Germany
Hallo!

Kann mir jemand sagen, wie ich eine TLabel-Komponente um 90° drehen kann?

DANKE!


Delphi-Quellcode:
procedure TextOutRotated(ACanvas: TCanvas; x, y, Angel10 : integer; atext : string);
var
  hFont, Orgfont : THandle;
  DC : hDC;
begin
  if length(atext) > 0 then begin
    DC := ACanvas.Handle;
    SetBkMode(DC, transparent);
    hFont := CreateFont(-ACanvas.Font.Size, 0, Angel10, 0, fw_normal, 0,
                        0, 0, 1, 4, $10, 2, 4, PChar(ACanvas.Font.Name));
    Orgfont := SelectObject(DC, hFont);
    TextOut(DC, x, y, PChar(atext), length(atext));
    SelectObject(DC, OrgFont);
    DeleteObject(hFont);
  end;
end;
Gruß
Matthias

Muetze1 20. Jul 2006 12:37

Re: Label um 90° drehen
 
Zitat:

Zitat von Neutral General
Zitat:

Zitat von vlees91
ja mit #10 + #13 zwischen jedem buchstaben

Das geht beim Label nicht.

Klar geht das - warum auch nicht? Oder meinst du das Problem das dein Objektinspektor das nicht kann? Es gibt Erweiterungen die dies standardmässig erlauben und genauso gibt es die Möglichkeit der Laufzeitumgebung...

Neutral General 20. Jul 2006 12:38

Re: Label um 90° drehen
 
Eh ok es geht :duck:

made in Germany 20. Jul 2006 12:39

Re: Label um 90° drehen
 
Das Problem ist, dass ich den Text später noch ausgeben will.
Den Inhalt des Textes müsste ich dann seperat speichern, wenn ich den gedrehten Inhalt als canvas ausgebe

Neutral General 20. Jul 2006 12:41

Re: Label um 90° drehen
 
Delphi-Quellcode:
var Text: String;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Text := 'Hallo!' + #13#10 + 'Text gespeichert und gleich wirds aufm Label stehn!';
  Label1.Caption := Text;
end;
bzw eh beim Label brauchstes ja gar nicht zu speichern...

marabu 20. Jul 2006 12:57

Re: Label um 90° drehen
 
Ich würde die Komponente TJvLabel aus dem JEDI-Projekt verwenden. Diese hat die Eigenschaft Angle, welche man auf 90 oder 270 setzen kann um den Text vertikal auszugeben. Alle anderen Eigenschaften werden sinngemäß angepasst, scheint mir.

Grüße vom marabu

made in Germany 23. Jul 2006 23:13

Re: Label um 90° drehen
 
Nachdem ich einige Probleme mit dem installieren der JEDI-Komponenten hatte,
hab ich dass Problem gelöst.
Die Komponente TJvLabel ist echt genial!

Danke für die Hilfe! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz