![]() |
RichEdit Format
Hallo Zusammen,
Ich habe zum RichEdit zwei Fragen: 1. Gibt es eine Möglickeit, wie ich den Zeilenumbruch verhindern kann? Ich möchte, dass immer nur eine Zeile verwendet wird. 2. Gibt es eine einfache Möglichkeit, wie ich RichEdit formatieren kann (z.B. das Zahlen mit Tausendertrennzeichen, oder mit zwei Kommastellen angezeigt werden)? Ich meine nicht mitten im Text, sondern wenn dort nur eine Zahl eingetragen wird. Vielen Dank Patrick |
AW: RichEdit Format
Zu 1: WordWrap auf false stellen, oder meinst Du etwas anderes?
Zu 2: Ist mir nichts bekannt. |
AW: RichEdit Format
Zu1: Wenn ich auf die ENTER Taste drücke, dann springt er in die zweite Zeile - die nicht sichtbat ist... Das möchte ich verhindern.
|
AW: RichEdit Format
If frage mich wofür das gut sein soll.
Richedit ist eigentlich eine verkappte (und kastrierte) Textbearbeitung, die dafür gedacht ist auszudruckenden Text zu erfassen. D.h. die "Zeile" ist nur eine sehr vergängliche Möglichkeit der Textstrukturierung, da je nach Font(größe) und Papierformat die Zeile unterschiedlich lang ist. Wenn Du Wert auf Fett, Kursiv und unterschiedliche Textfarben legst, solltest Du vllt. synedit verwenden. Für Deine zweite Anforderung gibt es
Delphi-Quellcode:
oder falls Du gerne selbst bastelst
Format
Delphi-Quellcode:
mit nachträglicher Aufhübschung.
xxxtostr
Gruß K-H Zitat:
Du hast einen RichEdit von dem nur eine Zeile sichtbar ist? Warum nutzt Du nich TEdit? |
AW: RichEdit Format
@Ykcim
Ich hab mich mal mit dem Thema näher beschäftigt und kann behaupten, dass es das was du suchst nicht in der Form gibt oder ich es nicht gefunden habe. Was ich letztendlich gemacht habe und du es auch machen kannst ist Tricksen. Dein erstes Problem kannst du so lösen:
Delphi-Quellcode:
Damit fängst du das Enter an. Wenn du den Zeilenumbruch komplett abfangen willst, also auch den durch Einfügen von Text, dann mußt du auch das abfangen.
procedure TForm1.RichEdit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = #13 then Key := #0; end; Dein zweites Problem ist etwas komplexer, aber auch nicht unmöglich. Nur mußt du dann das machen was du eigentlich mit Delphi machen willst: programmieren. Einfach die Texteingabe überwachen. Bei der ersten Eingabe einer Zahl den Startpunkt merken, dann auch den Endpunkt merken, also die erste Nichtzahl. Schon hast du die letzte Zahl die eingegeben wurde. Jetzt das ganze formatieren und den Cursor anpassen. |
AW: RichEdit Format
Zu 2.
Du kannst die Zahl vorher formatieren, und dann in das RichEdit als Text einfügen:
Delphi-Quellcode:
function PointDelimiter(Argument: string; TrennChar: char): string;
var n,i: integer; begin Result := Argument; n := Length(Result); if n > 3 then begin i := 0; While n > 0 do begin inc(i); if (i >= 3) and (n > 1) then begin Insert(TrennChar, Result, n); i := 0; end; dec(n); end; end; end; RichEdit1.Text := PointDelimiter('1234567890', '.'); Edit: Zu 1.: Du kannst mit stringreplace ( ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 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-2025 by Thomas Breitkreuz