You may have noticed the auto completion feature in the edit controls in Microsoft’s file dialog boxes. You enter a few letters/words of the file path/file name, the edit control provides a dropdown list box with suggestions for your string.
The API that performs this trick for you is SHAutoComplete(HWND hEdit, DWORD flags);. hEdit is the handle to the edit control window. It flags a value or combination of values that controls the behaviour of the autocomplete feature.
Here’s an example:
#include #include #pragma comment (lib, "shlwapi.lib")LRESULT CALLBACK MyDialogProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam){switch (uMsg){case WM_INITDIALOG: HWND hFilePath; CoInitialize (NULL); hFilePath = GetDlgItem (hWnd, ID_FILEPATH); SHAutoComplete (hFilePath, SHACF_DEFAULT); break;case WM_DESTROY: CoUninitialize(); PostQuitMessage (0); break;}}