Download demo project - 19
Kb
Download source - 4 Kb
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.
Programming since the age of 10, started professionally at the age of 17. Currently involved in both Client and Server side development on Win32 platforms for MC/HA/FT financial applications. Development experience with Win32, Win16, Linux and other flavors of Unix.
Extensive multithreaded development experience on Windows platforms using the Win32 SDK, and MFC.
Experience with HA/FT n-tiered Client/Server systems as well as GUI apps of varying complexity. Some experience with Game developement.
Having learned that the stuff you can barely get away with doing Client-side apps just does not cut it in the real "Server World", I am amazed how many 'professionals' cannot tell the difference between "works" and "correct" or try to (mis)use VB and/or MFC on server-side development projects, never considering that just because it RUNS, does not mean it runs WELL.
Lastly, I am also a collector of arcade games, and can perform repairs, conversions, etc. Search for my name, you will find me on lots of arcade-related documents and sites.
Sites of interest(?):
http://www.jrtwine.com
http://www.jrtwine.com/jtwine
http://www.signingtime.com
http://www.deletefxpfiles.com
http://www.checkfavorites.com
http://www.coinop.org