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 <shlwapi.h>
#include <ole2.h>
#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;
}
}