ツールヒントについて

[戻る]
ぴんと 2002/11/25(月) 19:58:06
VC6++,MFC,Windows2000、FormViewで製作しています。
ダイアログに張り付いているコントロールにツールヒントをつけているのですが、
特定のコンボボックスにツールヒントが出てくれません。
きちんと表示されるコンボボックスもあり、違いがわかりません。
このような経験がある方、ご教授願います。

<ツールヒントを出す方法>
OnInitialUpdate()にてEnableToolTips()を呼び出す。
あとは、リソースのString Tableで書くコントロールIDにコメントを
割り当てています。

TAD [E-Mail] 2002/11/26(火) 00:17:58
ツールヒントは、CFrameWnd が String Table を参照して表示してくれます。
ですが、表示してくれるのは、\n で区切られた2番目の文字列です。

新規にファイルを作成\n新規ファイル

上のような場合は 新規ファイル が表示されますが、

新規ファイル

単にこのようにした場合は何も表示されません。


また、CFormView のダイアログに貼り付けているコントロールは、
親が CFormView であり、CFrameWnd ではありません。
コントロールがツールチップを出すために文字列を親に要求しても、
CFrameWnd には伝わりません。

ビュークラスに OnNotify を追加し、通知メッセージの TTN_NEEDTEXT を、
そのままフレームウィンドウに渡してやるとうまくいくと思います。

    NMHDR* pNMHDR = (NMHDR*)lParam;

    if (pNMHDR->code == TTN_NEEDTEXT)
        GetParentFrame()->SendMessage(WM_NOTIFY, wParam, lParam);

    return CFormView::OnNotify(wParam, lParam, pResult);

記憶不鮮明 2002/11/26(火) 12:40:14
以前どこかの掲示板でみたような・・・
ドロップダウンリストはOKで、ドロップダウンはNGだったかな?
コンボボックスにエディットボックスが張り付いてるので邪魔するみたいです。
制限付きでならヒントがだせるようなことが書いてました。
 (▼の部分でなら とかだったと思う)

ぴんと 2002/11/26(火) 19:50:17
[[解決]]
原因がわかりました!!
グループボックスで囲っていたのですが、
タブオーダがグループボックスより大きかったため、
そのコンボボックスはツールヒントが出なかったようです。
(あとから追加したコンボボックスだったので。。。)

ご回答して頂いた方々、ありがとうございました。

ちなみに、ドロップダウンリストでもドロップダウンでも表示されましたよ。

古いスレッドには追加発言できません。