Title: Line in RichEdit
Question: How to get a line in a RichEdit just like in the Delphi editor?
Answer:
This code creates a line in a TRichEdit similar to the line in the Delphi editor, to indicate the fact that you have reached a certain amount of characters on that line.
//--------------------------------------------------------------------
Procedure TForm1.RichEdit1Change(Sender : TObject);
Var
aCanvas : Tcanvas;
X1,X2,Y : Integer;
Begin
aCanvas := TCanvas.Create;
Y := RichEdit1.Height;
Try
aCanvas.Handle := GetDC(RichEdit1.Handle);
With aCanvas do
Begin
Font := RichEdit1.Font;
X1 := TextWidth('W');
X2 := TextWidth('i');
Pen.color := clSilver;
If X1 = X2 then // Simple way of testing for fixed font type
Begin
MoveTo(79 * X1,0); // Draw line after 80 characters
LineTo(79 * X1,Y);
End;
End;
Finally
ReleaseDC(RichEdit1.Handle,aCanvas.Handle);
aCanvas.Free;
End;
End;
//--------------------------------------------------------------------