[Example] How to display a placeholder text for empty editor
Posted: Sun Oct 13, 2019 6:55 am
There is no built-in property for displaying a text hint when TRichViewEdit is empty (we are considering to add it in future updates).
But you can implement it using OnPaint event:
But you can implement it using OnPaint event:
Code: Select all
procedure TForm3.RichViewEdit1Paint(Sender: TCustomRichView; ACanvas: TCanvas;
Prepaint: Boolean);
var
X, Y: Integer;
begin
if not PrePaint and (Sender.ItemCount = 1) and (Sender.GetItemStyle(0) >= 0) and
(Sender.GetItemText(0) = '') then
begin
Sender.GetItemClientCoords(0, X, Y);
ACanvas.Font.Name := 'Tahoma';
ACanvas.Font.Charset := DEFAULT_CHARSET;
ACanvas.Font.Color := clGrayText;
ACanvas.Font.Style := [];
ACanvas.Font.Size := Sender.Style.TextStyles[Sender.GetItemStyle(0)].Size;
ACanvas.Brush.Style := bsClear;
SetTextAlign(ACanvas.Handle, TA_LEFT or TA_TOP);
ACanvas.TextOut(X, Y, 'Please write something...');
end;
end;