Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Smart Auto-Complete (and Easy )

0.00/5 (No votes)
29 Jun 2003 1  
A Edit that Automatically completes your words

Introduction

You must override the two virtuals.

  • bool OnSearch(LPCTSTR szFilter); // return true if found , false otherwise

and

  • void OnFillList(); //Use this virtual to fill "AutoComplete-List"

You must take care with settings like DelayTime, MinChars etc. See the header files for more information

Code Listing

class CAutoIni : public CAutoEdit  
{
public:
    void DeleteString(LPCSTR szKey);
    int AddString(LPCSTR szEntry);
    virtual bool OnSearch(LPCTSTR szFilter);
    CAutoIni();
    virtual ~CAutoIni();
protected:
    int m_iMaxKeys;
    CString m_strSectionName;// set the section for .ini or reg

    CString m_strNumItemsKey;// if not set: default is "NumItens"

    CString m_strItemDataKey;// if not set: default is "Item"

public:
    inline void SetKeyNumItem(LPCTSTR szKeyName)
    {
        m_strNumItemsKey = szKeyName;
    }

    inline CString GetKeyNumItem()
    {
        return m_strNumItemsKey;
    }

    inline void SetMaxKeys(int iMax)
    {
        m_iMaxKeys;
    }

    inline int GetMaxKeys()
    {
        return m_iMaxKeys;
    }

    inline void SetItemKey(LPCTSTR szItemKey)
    {
        m_strItemDataKey = szItemKey;
    }

    inline CString GetItemKey()
    {
        return m_strItemDataKey;
    }


    //{{AFX_VIRTUAL(CAutoIni)

    //}}AFX_VIRTUAL


    //{{AFX_MSG(CAutoIni)

    //}}AFX_MSG


    DECLARE_MESSAGE_MAP()

protected:
    virtual void OnFillList();
};

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here