さて、チュートリアル⑤のソースにさらに1つ加えることで、完成させましょう。
最後に1つ加える内容とは、
というものです。
チュートリアル④やチュートリアル⑤のソースに対して、以下を加えるだけで、
選択肢が1つの時は、「詳細が出せそうなら出す」といった形へと辻褄を合わせることができることでしょう。
struct AUTOCOMPLETELIST { LPTSTR wstring_ptr_list[1000]; // やり取りするのは1000個まで size_t list_size; }; extern "C" __declspec(dllexport) AUTOCOMPLETELIST* OnQueryListBoxCustomAdded(HWND hWnd, AUTOCOMPLETELIST *pAutoCompleteOriginalList) { // リストサイズが1の時 if (pAutoCompleteOriginalList->list_size == 1) { int ix = 0; int iItemHeight = SendMessage(hWnd, LB_GETITEMHEIGHT, ix, 0); // 最初の項目のアイテムの高さ String^ strItemText = gcnew String(pAutoCompleteOriginalList->wstring_ptr_list[ix]); // 最初の項目のテキスト ACHelpForm::f->Update(hWnd, ix, strItemText, iItemHeight); } return NULL; }
たったこれだけの追記で、下図のように「アイテムを選択していなくても、説明文が表示される」ようになります。