2017-07-13 125 views
0

MFC C++のリストコントロールに列ヘッダーをホバーする際にツールチップを表示する必要があるシナリオがあります。MFC C++のリストコントロールの列ヘッダーを表示する

私はメッセージハンドラOnMouseMove()を使用しましたが、カラムヘッダーをホバリングしてもOnMouseMove()機能には入りませんが、項目をリストアップするときに移動します。

誰かがより良い方法を提案できますか?

void CMatSizeEditList::OnMouseMove(UINT nFlags, CPoint point) 
{ 
    int nRow = HitTest(point); 
    int nCol = ColumnFromPoint(point); 

    m_cToolTip.AddTool(&m_cMatSizeList, IDC_MAT_UNITS); 
    m_cToolTip.Activate(TRUE); 

    CListControl::OnMouseMove(nFlags, point); 
} 

BOOL CMatSizeEditList::PreTranslateMessage(MSG* pMsg) 
{ 
    m_cToolTip.RelayEvent(pMsg); 
    return CXCtrlDialog::PreTranslateMessage(pMsg); 
} 

CListCtrlの列見出しにツールチップを追加するにはどうすればよいですか?

答えて

0

どこにでもツールチップを追加するのと同じように、CToolTipCtrlを使用します。ここでは、ヘッダーのサイズ変更に関する注意事項(例:HDN_ENDTRAC)を受け取り、CToolTipCtrl:SetToolInfoに渡す矩形を再計算する必要があります。

関連する問題