ダイアログ WM_INITDIALOG ハンドラで、LVS_EX_INFOTIP | LVS_EX_LABELTIP
次のようにスタイルをウィンドウに設定しました。
ListView_SetExtendedListViewStyle(GetDlgItem(IDC_MAIN_LIST), LVS_EX_INFOTIP | LVS_EX_LABELTIP);
ダイアログのメッセージ マップ定義には、次のものが含まれます。
BEGIN_MSG_MAP(MyDlg)
NOTIFY_HANDLER(IDC_MAIN_LIST, LVN_GETINFOTIP, OnMainListViewGetInfoTip)
....
REFLECT_NOTIFICATIONS()
END_MSG_MAP()
どこにOnMainListViewGetInfoTip
ある:
LRESULT OnMainListViewGetInfoTip(int idCtrl, LPNMHDR pnmh, BOOL& bHandled)
{
CString tempStr = L"tooltip message";
LPNMLVGETINFOTIP pGetInfoTip = (LPNMLVGETINFOTIP)pnmh;
if (pGetInfoTip != NULL)
{
pGetInfoTip->pszText = tempStr.GetBuffer();
}
return S_OK;
}
LVN_GETINFOTIP 通知がまったく届きません。また、pnmh から pGetInfoTip への変換が正しく、MSG_LVN_GETINFOTIP が VS によって識別されないかどうかもわかりません。