Auto-Completion Edit Control






4.69/5 (8 votes)
An edit control that provides auto-completion functionality for small data sets.
This article describes a class (CACEditCtrl
) for an
Auto-Completion Edit Control, which can be used small data sets, such as
most-recently-used account numbers, etc.
It works by iterating over a collection of STL strings and tries to find a matching beginning-substring in the entry. It is not the most the most effecient way of doing it, but it works well for small data sets.
The two functions of interest are:
void AddACEntry( LPCTSTR cpEntry )
void DisableAC( bool bDisable = true )
The AddACEntry(...)
function is used
to add a string to the control's collection of strings. No duplicate
checking is done. Why? Because this control acts as a container for
data, not a manager of data.
The DisableAC(...)
function allows you to
turn the Auto-Completion feature on or off.
In the demo image above, the numbered dialogs show the operation of the control as 3 characters are typed into it :"T", "h", and "a" as shown below:
- No characters typed
- A "T" was typed into the control, and it auto-completed with its first match
- A "h" was typed into the control, ditto above
- An "a" was typed into the control, and there were no matches to auto-complete for
Conditions of use are detailed in the header and source file(s).
Feel free to contact me if there are any questions. Have fun.