>This is not possible for a normal textbox. You must prepare the shortened string in your cursor, and somehow manage to get the full text in the ToolTipText everytime the record changes.
>
>Or you use something like Dragan suggest to bring a second textbox in foreground for edit / show.
Tried both, at times - a tooltip form and a now-you-see-me-now-you-don't control. A form is a pain to position, IIRC, with all the objtoclient() recalculation of the position of the control on the parent form, but that's easily circumvented by having this tooltip form be a child, i.e. show in current form, so its coordinates are off the same origin point as the controls. Everything else makes it easier to implement as a generic tooltip form class, simply because with its rich PEM it's easier to control.
The overlapping control with a variable visibility is, as I see it, harder to generalize. I did that only once - above a navigation grid I put a searchbox and a button. The button would drop a MRU list of the last 20 search terms, over the searchbox, itself, and top rows of the grid. For one off, works swimmingly, but the implementation got somewhat tangled, I'd rather not repeat that elsewhere. True, the entanglement comes from keeping the MRU updated and the listbox refreshed. Still, for just display, I prefer the tooltip form.