から派生したクラスがありCTreeCtrl
ます。ここでは、デフォルトのオブジェクトをカスタムのオブジェクトOnCreate()
に置き換えます。CToolTipCtrl
int CMyTreeCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CTreeCtrl::OnCreate(lpCreateStruct) == -1)
return -1;
// Replace tool tip with our own which will
// ask us for the text to display with a TTN_NEEDTEXT message
CTooltipManager::CreateToolTip(m_pToolTip, this, AFX_TOOLTIP_TYPE_DEFAULT);
m_pToolTip->AddTool(this, LPSTR_TEXTCALLBACK);
SetToolTips(m_pToolTip);
// Update: Added these two lines, which don't help either
m_pToolTip->Activate(TRUE);
EnableToolTips(TRUE);
return 0;
}
私のメッセージハンドラは次のようになります。
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyTreeCtrl::OnTtnNeedText)
しかし、私はTTN_NEEDTEXT
メッセージを受け取りません。Spy ++を見てみましたが、このメッセージが送信されないようです。
ここで何が問題になる可能性がありますか?
アップデート
これが適切かどうかはわかりません。CTreeCtrl
の親ウィンドウのタイプはCDockablePane
です。これが機能するために必要な追加の作業がありますか?