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 RichLabel? (https://www.delphipraxis.net/134336-richlabel.html)

xZise 20. Mai 2009 09:33


RichLabel?
 
Hallo ihr,
gibt es eine Art "RichLabel"? Also ein "RichText" mit Label Eigenschaften, wie zum Beispiel keine Bearbeitenfunktion?

MfG
xZise

Desmulator 20. Mai 2009 09:57

Re: RichLabel?
 
Du kannst doch afaik die Eigenschaft ReadOnly auf true setzen.

BAMatze 20. Mai 2009 10:06

Re: RichLabel?
 
warum nimmst nicht einfach ein RichEdit und stellst es auf ReadOnly (und Enabled auf False). Wenn dich dann noch der blinkende Cursor stört dann kannst du das so verschwinden lassen:

Delphi-Quellcode:
type
  TProtokollForm = class(TForm)
    RE_Protokoll: TRichEdit;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    FWndProc: TWndMethod;
    procedure RichEditWndProc(var Msg: TMessage);
  public
    { Public-Deklarationen }
  end;

...

procedure TProtokollForm.RichEditWndProc(var Msg: TMessage);
begin
  if Msg.Msg = WM_SETFOCUS then
  begin
    HideCaret(RE_Protokoll.Handle); // Cursor verstecken
    Msg.Result := 0;
  end else
    FWndProc(Msg); // alte Fensterproceure aufrufen
end;

procedure TProtokollForm.FormCreate(Sender: TObject);
var iIndex: integer;
begin
  FWndProc := RE_Protokoll.WindowProc; // alte Fensterproceure merken
  RE_Protokoll.WindowProc := RichEditWndProc; // Fensterproceure auf eigene Fensterprocedure umbiegen
  for iIndex := 0 to Protokoll.fProtokoll.Count-1 do RE_Protokoll.Lines.Add(Protokoll.fProtokoll.ValueFromIndex[iIndex]);
end;
Quellcode hierfür hab ich irgendwo in der DP gefunden, wusste nur nicht mehr wo, deswegen schicke ich es so mit.

MfG
BAMatze

p80286 20. Mai 2009 11:59

Re: RichLabel?
 
Hallo zusammen,

ist das RichEdit als Label-Ersatz nicht mit Kanonen auf Spatzen geschossen?

mit TEXTOUT auf einem Canvas würde ich doch den gleichen Effekt erreichen und das wäre doch schlanker, oder nicht?

Gruß
K-H

Lannes 20. Mai 2009 12:59

Re: RichLabel?
 
Hallo,

in Open-Source Sparte gibt es was für Dich, wenn Du mehr(Tabellen, Bilder etc.) darstellen willst als das Standard-RichEdit kann.

Von Flocke: TRtfLabel

xZise 21. Mai 2009 00:58

Re: RichLabel?
 
Zitat:

Zitat von p80286
Hallo zusammen,

ist das RichEdit als Label-Ersatz nicht mit Kanonen auf Spatzen geschossen?

mit TEXTOUT auf einem Canvas würde ich doch den gleichen Effekt erreichen und das wäre doch schlanker, oder nicht?

Gruß
K-H

Ich denke in gewisser Hinsicht. Also eigentlich wollten wir nur folgenden Effekt:
Zitat:

Diese Option Dings gibt es nicht mehr.
Jetzt ist das Problem, wie bekomme ich nur "Dings" in einem Label fett.
Im Moment wird einfach geguckt, wie viele Leerzeichen zwischen "Option" und "gibt" passen, und dann mit zwei Labels jeweils einmal Dings und dann den anderen Text anzeigen. Das Problem ist, Dings nun nicht genau 5 Leerzeichen "breit" ist.

MfG
xZise

Lannes 21. Mai 2009 15:01

Re: RichLabel?
 
Hallo,

dann nimm doch drei Label, AutoSize auf True und nach zuweisen der Captions:
Delphi-Quellcode:
laMiddle.Left := laFront.Left + laFront.Width;
laRear.Left := laMiddle.Left + laMiddle.Width;

turboPASCAL 21. Mai 2009 15:12

Re: RichLabel?
 
Such mal nach GSFormattedLabel .

xZise 21. Mai 2009 15:16

Re: RichLabel?
 
Zitat:

Zitat von Lannes
Hallo,

dann nimm doch drei Label, AutoSize auf True und nach zuweisen der Captions:
Delphi-Quellcode:
laMiddle.Left := laFront.Left + laFront.Width;
laRear.Left := laMiddle.Left + laMiddle.Width;

Allerdings ist da das Problem, dass der Text mehrzeilig ist (also WordWrap), was sich mit AutoSize net verträgt.

Zitat:

Zitat von turboPASCAL
Such mal nach GSFormattedLabel .

Okay ich gucks mir mal an :)

MfG
xZise


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 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 by Thomas Breitkreuz