Autor Beitrag
Killi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Mi 25.06.03 11:35 
Hi!

Die Überschrift sagt alles....wie kann ich in ein TMemo verschieden-farbige Lines einfügen bzw. mit Fettschrift etc?
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Mi 25.06.03 11:38 
Dafür must du RichEdit benutzen, dort gib es dann Formatierungseigenschaften

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 25.06.03 11:43 
Mit der tMemo Komponente funktioniert das nicht. Nimm dafür die tRichEdit Komponente. Such auch mal hier im Forum nach tRichEdit. Dann solltest du einige Beiträge finden in denen gezeigt wird wie man mit diesen Formatierungen arbeitet.

Gruß
Tino
Killi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Mi 25.06.03 12:08 
das kapier ich ja:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
begin
with RichEdit1.SelAttributes do
  begin
    Color := clRed;
    Style:= [fsBold];
    Height := Height + 5;
  end;
  RichEdit1.Lines.Add('This line of text will be red.');
end;

aber wie kann ich nur einen bestimmten Text (z.Bsp. hier "THIS") fett schreiben???

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mi 25.06.03 12:29 
hallo,
du musst dir die eigenschaft Selection anschauen. Wenn du die selection nur 5 zeichen vom anfang an lang machst, wird mit dem code nur this rot gemacht..

Gruß
ken
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 25.06.03 12:30 
CenBells hat folgendes geschrieben:
du musst dir die eigenschaft Selection anschauen

Eine Eigenschaft mit dieser Bezeichnung existiert bei mir nicht.

Killi hat folgendes geschrieben:
aber wie kann ich nur einen bestimmten Text (z.Bsp. hier "THIS") fett schreiben???

Füg doch als erstes den Text in das RichEdit ein. Dann markierst du den entsprechenden Text mit den Eigenschaften SelLength und SelStart und setzt dann erst die Formatierung mit SelAttributes.

Gruß
Tino
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mi 25.06.03 12:43 
Tino hat folgendes geschrieben:
CenBells hat folgendes geschrieben:
du musst dir die eigenschaft Selection anschauen

Eine Eigenschaft mit dieser Bezeichnung existiert bei mir nicht.


Besserwisser :wink: :wink: :wink: :lol:

Tino hat folgendes geschrieben:
... Eigenschaften SelLength und SelStart und setzt dann erst die Formatierung mit SelAttributes.


Die beiden Eigenschaften meinte ich doch. 8)

Gruß
Ken
Killi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Mi 25.06.03 12:43 
Hey THX - jetzt hab ich auch das Prinzip kapiert, is ja einfach!
Danke nochmal für die schnelle Hilfe!!!!!!
Killi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Mi 25.06.03 15:26 
doch noch Problem hab:
Ich benutze das Ding in nem Chat - Wenn jetzt jemand viel schreibt, sodass die 1 Zeile plötzlich als 2 angezeigt werden tut mein Script nicht mehr.....hab das so gemacht (die +2 wegen den Absätzen, die zählt der als 2 Zeichen):
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
count:= 0;
for a := 0 to Console.Lines.Count - 1 do
begin
        count:= count + Length(Console.lines.Strings[a]) + 2;
end;
count:= count + 2;

  Console.Lines.Add(Nick + ' hat den Raum ' + Copy(Raum, 2, Length(Raum)) + ' betreten');

  with Console.SelAttributes do
  begin
    Console.SelStart:= count - 2;
    Console.SelLength:= Length(Nick + ' hat den Raum ' + Copy(Raum, 2, Length(Raum)) + ' betreten');
    Style:= [fsBold];
    Color:= $00BFBFBF;
  end;

hat auch wunderbar getan, allerdings verschiebt es sich eben (wenn aus einer ZWEI Zeilen werden) um 2 Zeichen...dann fängt es 2 Zeichen zu spät an.....toll - was soll ich machen?
G-man
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 258

Win 2000, Win ME, SuSE 8.2
D5 Standard, D6 Professional
BeitragVerfasst: Fr 27.06.03 13:42 
Irgend ein Beispiel gab`s hier schon mal im forum, glaube ich jedenfalls...
Such` doch einfach...

_________________
...To err is human, but to really foul things up requires a computer.
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Fr 27.06.03 14:35 
Hi,

schau dir mal SelText an, das fügt an der Stelle an der der Cursor aktuell ist (SelStart) den Text mit der entsprechenden (vorher festgelegten) Formatierung ein, z.B. so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
RichEdit.SelAttributes.Style:=[fsBold];
RichEdit.SelText:='Fetter Text';
RichEdit.SelAttributes.Style:=[];
RichEdit.SelText:='und normaler Text';


Das ganze würde dann etwa so aussehen:
Zitat:
Fetter Textund normaler Text


Au'revoir,
Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!