AGB  ·  Datenschutz  ·  Impressum  







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

Linien zeichnen in TRichEdit mit TShape ??

Ein Thema von runningsoft · begonnen am 27. Jan 2010 · letzter Beitrag vom 27. Jan 2010
 
Benutzerbild von runningsoft
runningsoft

Registriert seit: 8. Okt 2004
Ort: Bernau
108 Beiträge
 
Delphi 10.4 Sydney
 
#1

Linien zeichnen in TRichEdit mit TShape ??

  Alt 27. Jan 2010, 01:02
Hallo,

wenn ich auf einem TRichEdit die gesetzten Ränder mit so einer schicken grauen Linie anzeigen möchte, wie im Layoutmodus von Word, so werden mir diese mit folgendem Code zwar wunderbar angezeigt:

Delphi-Quellcode:
procedure TForm11.SetBorders(var R: TRect);
var LeftLine, TopLine, RightLine, BottomLine : TShape;
begin
//Textränder als graue Linie anzeigen
LeftLine := Tshape.Create(RichEdit1);
with LeftLine do
   begin
   Parent := RichEdit1;
   Shape := stRectangle;
   Width := 1;
   Pen.Color := $E6E6E6;
   Top := R.Top - 15;
   Height := R.Bottom - R.Top + 30;
   Left := R.Left - 1;
   end;
TopLine := TShape.Create(RichEdit1);
with TopLine do
   begin
   Parent := RichEdit1;
   Shape := stRectangle;
   Height := 1;
   Width := R.Right - R.Left + 30;
   Pen.Color := $E6E6E6;
   Top := R.Top - 1;
   Left := R.Left - 15;
   end;
RightLine := TShape.Create(RichEdit1);
with RightLine do
   begin
   Parent := RichEdit1;
   Shape := stRectangle;
   Width := 1;
   Pen.Color := $E6E6E6;
   Top := R.Top - 15;
   Height := R.Bottom - R.Top + 30;
   Left := R.Right - 1;
   end;
BottomLine := TShape.Create(RichEdit1);
with BottomLine do
   begin
   Parent := RichEdit1;
   Shape := stRectangle;
   Height := 1;
   Width := R.Right - R.Left + 30;
   Pen.Color := $E6E6E6;
   Top := R.Bottom + 1;
   Left := R.Left - 15;
   end;
end;
aber anschließend sehe ich im RichEdit keine Buchstaben mehr. Der Cursor ist sichtbar und kann auch bewegt werden, aber es erscheinen keine Buchstaben.

Ich hab auch schon versucht, anschließend noch einmal die Fontfarbe des Richedits zu setzen - ohne Erfolg.

Aufgerufen wird die Prozedur im OnShow-Ereignis des TRichEdit.

Leider hat ja TRichedit keinen Canvas auf dem man rummalen kann, oder gibt es dafür doch eine Lösung?

Für Hinweise wäre ich dankbar.

Steffen
Steffen
  Mit Zitat antworten Zitat
 


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 11:30 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