In fact, the one-line input field is the last visual object for which it would have made any sense to create a graphical counterpart. It makes no sense to move further, since the increase in the code will outweigh all the benefits of the absence of its own window descriptor.
But already when implementing a graphical input field, a simple trick was used to avoid duplicating the functionality of the input field itself in your code. Namely: when the focus is transferred to this element, a temporary (until the focus is lost), but "real" window object for line editing, which visually practically does not differ, is created for it, has the same borders, and allows you to edit the text as usual. The substitution process itself occurs in a completely transparent way for the user (and for the application), and is visually invisible.
The benefits of using a graphical input field are the same as those of other types of graphical elements. It should be noted that a form with fifty such fields, if they do not have window descriptors, works much faster, which is noticeable even on a very high-speed hardware configuration.
Constructor:
NewGraphEditBox(Parent, Options)
Syntax
function NewGraphEditbox( AParent: PControl; Options: TEditOptions ): PControl;
Creates graphic edit box. To do editing, this box should be replaced with real edit box with a handle (actually, it is enough to place an edit box on the same Parent having the same BoundsRect).