Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Teil einer Zeile Fett machen --> RichEdit (https://www.delphipraxis.net/60044-teil-einer-zeile-fett-machen-richedit.html)

Christian18 2. Jan 2006 10:38


Teil einer Zeile Fett machen --> RichEdit
 
Hallo,

ich habe mal eine Frage zu RichEdit Komponenten. Wie kann ich einen Teile einer Teile Fett machen??? Ich habe es mal versucht.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
  var s : String;
begin
  s:=Edit1.Text;

  with RichEdit1 do
    begin
      Lines.Clear;
      Lines.Add('[b]Name:[/b] ' + s)
    end;
end;
Ich habe es so gemacht wie man es in HTML macht, aber das funktioniert leider nicht.

Hat jemand eine andere Idee???

MFG Christian18

toms 2. Jan 2006 10:40

Re: Teil einer Zeile Fett machen --> RichEdit
 
Delphi-Quellcode:
procedure AddColoredLine(RichEdit: TRichEdit; strText: string; aColor: TColor);
begin
  with RichEdit do
  begin
    SelStart := Length(strText);
    SelAttributes.Color := aColor;
    SelAttributes.Size := 8;
    SelAttributes.Name := 'MS Sans Serif';
    Lines.Add(strText);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  AddColoredLine(RichEdit1, 'Hallo', clRed);
  AddColoredLine(RichEdit1, 'Hallo', clGreen);
end;

Christian18 2. Jan 2006 10:51

Re: Teil einer Zeile Fett machen --> RichEdit
 
ok vielen dank für deine hilfe. es funktioniert.

mfg christian18

bundy 2. Jan 2006 10:52

Re: Teil einer Zeile Fett machen --> RichEdit
 
Hy ich hab das so gelöst.

{\rtf1\ansi\ansicpg1252\deff0\deflang3079\deflangf e3079{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs20 Hallo \b World\b0 !!!!\par}

Wie komme ich darauf ?

Ich habe mir ein rtf Datei erstellt in Wordpad.
Dort habe ich Hallo World !!! eingetragen und das World Fett geschrieben.
Das ganze gespeichert und mit dem Windows Editor angesehen.

Ich verwende das ebenfalls in einer Datenbank in einem RTF-Memo und trage dort Benutzer und Zeitstempel "fett" ein.


Ich hoffe es hilft dir weiter.


lg
Bundy

Khabarakh 2. Jan 2006 11:12

Re: Teil einer Zeile Fett machen --> RichEdit
 
Die gesamte Spezifikation lässt sich im MSDN finden:
http://msdn.microsoft.com/library/de...ml/rtfspec.asp

Christian18 2. Jan 2006 11:22

Re: Teil einer Zeile Fett machen --> RichEdit
 
Hi,

ist es auch möglich nur einen teil Fett zu machen??? also eine andere variante als von bundy. weil ich will immer nur den ersten teil fett haben.

also so:

Name: Christian
Zahl: 18

Nachtrag:

ich habe es so versucht funktioniert aber nicht da die ganze zeile fett gemacht wird.
Delphi-Quellcode:
  var s : String;
begin
  with FEdit.RichEdit1 do
  begin
    Lines.Clear;

    s:='Name: ';
    SelAttributes.Color := clRed;
    SelAttributes.Size := 8;
    SelAttributes.Style:=[fsBold];
    Lines.Add(s + 'Test')
  end;

Lannes 2. Jan 2006 11:56

Re: Teil einer Zeile Fett machen --> RichEdit
 
Hallo,

da kannst Du nicht mit Add arbeiten,
so geht es:
Delphi-Quellcode:
with FEdit.RichEdit1 do
  begin
  SelStart := length(Text);
  SelAttributes.Color := clRed;
  SelAttributes.Size := 8;
  SelAttributes.Style:=[fsBold];
  SelText := 'Name: ';
  SelAttributes.Color := clblack;
  SelAttributes.Size := 8;
  SelAttributes.Style:= [];
  SelText := 'Test'+#13#10;
  end;

Christian18 2. Jan 2006 12:49

Re: Teil einer Zeile Fett machen --> RichEdit
 
Hallo,

ist es auch noch möglich einen Punkt davor zu machen??? (Aufzählungszeichen)

Lannes 2. Jan 2006 14:53

Re: Teil einer Zeile Fett machen --> RichEdit
 
Hallo,

ja, etwas erweitern:

:!: Richedit in uses einbinden

Delphi-Quellcode:
var
  aParaFormat: TParaformat2;
begin
  FillChar(aParaFormat, SizeOf(aParaFormat), 0);
  aParaFormat.cbSize := SizeOf(aParaFormat);
  aParaFormat.dwMask := PFM_NUMBERING;
  aParaFormat.wNumbering := 1;
  with FEdit.RichEdit1 do
    begin
    SelStart := length(Text);
    Perform(EM_SETPARAFORMAT, 0, lParam(@aParaFormat));
    SelAttributes.Color := clRed;
    SelAttributes.Size := 8;
    SelAttributes.Style:=[fsBold];
    SelText := 'Name: ';
    SelAttributes.Color := clblack;
    SelAttributes.Size := 8;
    SelAttributes.Style:= [];
    SelText := 'Test'+#13#10;
    aParaFormat.wNumbering := 0;
    Perform(EM_SETPARAFORMAT, 0, lParam(@aParaFormat));
    end;

LH_Freak 2. Jan 2006 15:47

Re: Teil einer Zeile Fett machen --> RichEdit
 
Ich hab mir vor ein paar Tagen eine BBCode funktion geschrieben (für MUH Messenger :D).
Sie kann zwar bis jetzt zwar nur Fett, Kursiv, Unterstrichen, aber es funktioniert einwandfrei.
Später werde ich den Quellcode der Funktion hochladen, da der Server gerade Off ist. :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:54 Uhr.
Seite 1 von 2  1 2      

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