Page 1 of 1
text on the background
Posted: Fri Oct 11, 2019 9:12 pm
by adamrich
Hello,
I'm trying to add few lines messages (text) on the RichViewEdit1 background instead of image, but when user start typing the background text need to be gone, just like some user forums uses CSS
I need that only on the new document (not already saved document)
Thank you
Re: text on the background
Posted: Sat Oct 12, 2019 1:53 pm
by Sergey Tkachenko
Do you want to display some text when the editor is empty?
Re: text on the background
Posted: Sat Oct 12, 2019 6:16 pm
by adamrich
Yes please, only when empty
Thank you so much
Re: text on the background
Posted: Sun Oct 13, 2019 6:45 am
by Sergey Tkachenko
There is no built-in property for this feature. But you can use 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;
Re: text on the background
Posted: Sun Oct 13, 2019 12:38 pm
by adamrich
Thank you, you are awesome man!
As always I appreciate your superb support, you never let your user down, best support ever.
Thanks again