Ränder von mehrzeiligen Textfeldern setzen/lesen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Dieser Artikel zeigt, wie Sie die Randbegrenzungen mehrzeiliger Textfelder, wie z.B. einer TMemo oder TRichEdit-Komponente lesen und setzen können.Für diese Aufgaben sind im Wesentlichen zwei Botschaften zuständig: EM_GETRECT zum Lesen und EM_SETRECT zum Setzen. Diese müssen an das Handle des Textfeldes gesendet werden.Im folgenden Beispiel wird zunächst das benutzbare Rechteck einer TMemo-Komponente ermittelt und danach der linke und rechte Rand jeweils auf einen Abstand von 20 Pixelgesetzt. Die obere und untere Grenze bleibt unberührt:
procedure TForm1.Button1Click(Sender: TObject);
var
R: TRect;
begin
Memo1.Perform(EM_GETRECT, 0, LongInt(@R));
R.Left:=20;
R.Right:=Memo1.ClientWidth - 20;
Memo1.Perform(EM_SETRECT, 0, LongInt(@R));
Memo1.Refresh;
end;
- Laden und Speichern von Texten aus Memofeldern in Dateien
- In einem Memo-Feld navigieren
- Blinkenden Cursor verstecken
- Textlänge in TRichEdit erhöhen
- Sichtbare Zeilen in TMemo ermitteln
- Rückgängig/Wiederherstellen für Textfelder
- Aktuelle Zeile/Spalte in Memofeldern bestimmen
- Eigenen Caret in TMemo
- Wort aus einem String an einer Position extrahieren
- TFontDialog in Verbindung mit TRichEdit