Wie kann ich die Anzeige von benutzerdefinierten QuickInfo in einem CTreeCtrl?

Habe ich eine Klasse abgeleitet von CTreeCtrl. In OnCreate() ich ersetzen die Standard - CToolTipCtrl Objekt mit einem benutzerdefinierten eins:

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;
}

Meine message handler sieht so aus:

ON_NOTIFY_EX(TTN_NEEDTEXT, 0, &CMyTreeCtrl::OnTtnNeedText)

Jedoch habe ich nie erhalten TTN_NEEDTEXT Nachricht. Ich hatte einen Blick mit Spy++, und es sieht auch, wie diese Nachricht wird nie gesendet.

Was könnte hier das problem?

Update

Ich bin mir nicht sicher, ob das relevant ist: Die CTreeCtrl's parent-Fenster ist der Typ CDockablePane. Könnte es sein, einige zusätzliche Arbeit erforderlich für diese zu arbeiten?

InformationsquelleAutor foraidt | 2008-11-06
Schreibe einen Kommentar