0

背景http://msdn.microsoft.com/en-us/library/b17bescz(v=VS.90).aspx 「TVS_NOTOOLTIPS スタイルは、ツリー ビュー コントロールの自動ツール ヒント機能を無効にします。この機能は、自動的にツール ヒントを表示します。タイトル全体が現在表示されていない場合は、マウス カーソルの下にある項目のタイトルが含まれます。"

質問: MFC コードで実際に実装されている CTreeCtrl のこの既定の機能 [つまり、アイテムがカットオフされるたびに、タイトルの自動表示ツールチップ] はどこにありますか (たとえば、どのファイル)?

ありがとう

4

2 に答える 2

1

ツールチップは、Win32 ツリー コントロールに固有のものです。CTreeCtrl は単純なラッパーです。そのためのコードを見つける唯一の場所は Microsoft です。

于 2010-12-17T17:49:33.700 に答える
0

これを実装するのは比較的簡単です。

treectrl (OnMouseMove) でマウスの動きをキャプチャする

  1. 現在のカーソル位置を取得する
  2. カーソル下のアイテムを取得 (treectrl.HitTest)
  3. アイテムの表示矩形を取得 (treectrl.GetItemRect)
  4. treectrl の表示矩形を取得する (treectrl.GetClientRect)
  5. アイテムの表示矩形の右側 > treectrl の表示矩形の場合 --> SHOW TOOLTIP AT (item.left, item.top)
  6. 項目の表示範囲の左側 < treectrl の表示範囲 --> SHOW TOOLTIP AT (treectrl.left, item.top) の場合

これが役立つかどうかはわかりません。MFC アプリで非常によく似た処理を行って、専門的な強調表示を行います。

于 2010-12-20T23:11:55.147 に答える