AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RichLabel?

Ein Thema von xZise · begonnen am 20. Mai 2009 · letzter Beitrag vom 21. Mai 2009
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

RichLabel?

  Alt 20. Mai 2009, 09:33
Hallo ihr,
gibt es eine Art "RichLabel"? Also ein "RichText" mit Label Eigenschaften, wie zum Beispiel keine Bearbeitenfunktion?

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#2

Re: RichLabel?

  Alt 20. Mai 2009, 09:57
Du kannst doch afaik die Eigenschaft ReadOnly auf true setzen.
Lars
There are 10 kinds of people in the world:
those who get binary, and those who don’t.
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: RichLabel?

  Alt 20. Mai 2009, 10:06
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
2. Account Sero
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

Re: RichLabel?

  Alt 20. Mai 2009, 11:59
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
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#5

Re: RichLabel?

  Alt 20. Mai 2009, 12:59
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
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#6

Re: RichLabel?

  Alt 21. Mai 2009, 00:58
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
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#7

Re: RichLabel?

  Alt 21. Mai 2009, 15:01
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;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#8

Re: RichLabel?

  Alt 21. Mai 2009, 15:12
Such mal nach GSFormattedLabel .
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#9

Re: RichLabel?

  Alt 21. Mai 2009, 15:16
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 von turboPASCAL:
Such mal nach GSFormattedLabel .
Okay ich gucks mir mal an

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 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