General TRichView support forum. Please post your questions here
adamrich
Posts: 35 Joined: Sun Feb 19, 2006 1:55 pm
Post
by adamrich » Fri Oct 11, 2019 9:12 pm
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
adamrich
Posts: 35 Joined: Sun Feb 19, 2006 1:55 pm
Post
by adamrich » Sat Oct 12, 2019 6:16 pm
Yes please, only when empty
Thank you so much
Sergey Tkachenko
Site Admin
Posts: 17806 Joined: Sat Aug 27, 2005 10:28 am
Contact:
Post
by Sergey Tkachenko » Sun Oct 13, 2019 6:45 am
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;
adamrich
Posts: 35 Joined: Sun Feb 19, 2006 1:55 pm
Post
by adamrich » Sun Oct 13, 2019 12:38 pm
Thank you, you are awesome man!
As always I appreciate your superb support, you never let your user down, best support ever.
Thanks again