Sichtbare Zeilen in TMemo ermitteln |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Folgende Funktion erwartet als Parameter ein Objekt vom Typ TMemo. Es wird dann die Anzahl der sichtbaren Zeilen unter Berücksichtigung der aktuellen Schrifteinstellungen zurückgegeben.
function CountVisibleLines(const Memo: TMemo): Integer;
Var
OldFont: HFont;
DC: THandle;
TextMetric: TTextMetric;
begin
Result := 0;
DC := GetDC(Memo.Handle);
try
OldFont := SelectObject(DC, Memo.Font.Handle);
try
GetTextMetrics(DC, TextMetric);
Result := (Memo.ClientRect.Bottom - Memo.ClientRect.Top) div
(TextMetric.tmHeight + TextMetric.tmExternalLeading);
finally
SelectObject(DC, OldFont);
end;
finally
ReleaseDC(Memo.Handle, DC);
end;
end;
Ändert man den Parameter vom Typ TMemo in TRichEdit, funktioniert die Funktion auch mit RichEdit-Feldern.
- Laden und Speichern von Texten aus Memofeldern in Dateien
- In einem Memo-Feld navigieren
- Blinkenden Cursor verstecken
- Ränder von mehrzeiligen Textfeldern setzen/lesen
- 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
- Tabulatoren-Größe in TCustomMemo setzen
- Inhalt eines Memos drucken