Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Label verschieden formatieren (https://www.delphipraxis.net/11261-label-verschieden-formatieren.html)

Nalincah 3. Nov 2003 08:53


Label verschieden formatieren
 
Kann man in einem Label irgendwie diesen Text ausgeben (Formatierung):

"Das ist ein fetter Text"

himitsu 3. Nov 2003 09:20

Re: Label verschieden formatieren
 
Schu dir mal die Eigenschaft Font im OI an :zwinker:
Einzelne Worter gehen aber nicht.

Das kannste aber mit mehreren Labels machen oder mit TextOut im OnPaint des Labels.

Add:
Delphi-Quellcode:
Procedure TForm1.FormPaint(Sender: TObject);
Var X: Integer;

Begin
  X := 50;
  Canvas.Font.Style := [];
  Canvas.TextOut(X, 20, 'Das ist ein ');
  Inc(X, Canvas.TextWidth('Das ist ein '));
  Canvas.Font.Style := [fsBold];
  Canvas.TextOut(X, 20, 'fetter');
  Inc(X, Canvas.TextWidth('fetter'));
  Canvas.Font.Style := [];
  Canvas.TextOut(X, 20, ' Text');
End;

Nalincah 3. Nov 2003 09:28

Re: Label verschieden formatieren
 
Ich will folgendes machen: Abgeleitete TQRDBText-Compo mit folgenden neuen Eigenschaften:
"Felder". Das ist ne Stringlist in der man Datenbank Felder angibt:

Delphi-Quellcode:
ADOTable1.Name1;
ADoTAble1.Strasse1; ADOTable1.Hausnummer1;
...
Das Label soll das dann ausdrucken:
Delphi-Quellcode:
Hans Müller
Hauptstr. 4
und dann will ich "Müller" z.b. fett haben.

Mit nem RichEdit würds gehen, aber das hat leider kein OnPrint-Ereignis. Ich will das das gemacht wird, sobald der QuickReport gedruckt wird. Hoffe das ist verständlich, wie ich das hier formuliert habe...

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]

himitsu 3. Nov 2003 09:54

Re: Label verschieden formatieren
 
Dann vielleicht doch mit 2 Labels:

Je 2 Labels nebeneinander auf die gleiche Höhe (Top) und mit den entsprechenden Formatierungen.
http://www.FrankNStein.de/DBL.jpeg

Delphi-Quellcode:
{DBText1 = Vorname}
{DBText2 = Nachname}
{DBText3 = Strasse}
{DBText4 = Hausnummer}

{ Voreinstellungen an den Labels (auch schon im IO) }
DBText1.AutoSize := True; DBText1.Font.Style := [];
DBText2.AutoSize := True; DBText2.Font.Style := [fsBold];
DBText3.AutoSize := True; DBText3.Font.Style := [];
DBText4.AutoSize := True; DBText4.Font.Style := [];


{ z.B. Nachdem den Labels ein neuer Wert zugewiesen wurde }
DBText2.Left := DBText1.Left + DBText1.Width + 3{z.B. Breite eines Leerzeichens};
DBText4.Left := DBText3.Left + DBText3.Width + 3{z.B. Breite eines Leerzeichens};

{ wenn du die genaue Breite des Leerzeichens haben möchstest }
DBText2.Left := DBText1.Left + DBText1.Width + TextLaenge(DBText1.Font, ' ');
DBText4.Left := DBText3.Left + DBText3.Width + TextLaenge(DBText3.Font, ' ');
TextLaenge ist in Neuen Beitrag zur Code-Library hinzufügen / Länge und Höhe eines Textes...

Sourcemaker 3. Nov 2003 10:13

Re: Label verschieden formatieren
 
Wofür brauchst du ein OnPrint-Ereignis ?
Benutze doch das des Bandes.

Gruß

Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:51 Uhr.

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