お世話になっております。
ツールバーに独自のコントロールを貼り付けてツールチップを表示するというのを
やっております。
ツールチップの表示には WTLのCTooltipCtrlsを使って以下のように書きました。
tip.Create(m_hWnd);
tip.Activate(TRUE);
CToolInfo tiEdit(TTF_SUBCLASS, m_hWnd, 0, NULL, AAA);
tip.AddTool(tiEdit);
しかし、ツールチップが表示されませんでした。
WTLでダイアログを作成して先ほどのコードを書いた場合はツールチップが
表示されました。
なぜ、ツールチップが表示されないかわかりません。
独自のコントロールは以下のクラスを継承してます。
CWindowImpl<CTest, ATL::CWindow, ATL::CControlWinTraits>
現在の独自のコントロールは ボタンを作成しており、以下のように定義しております。
DECLARE_WND_SUPERCLASS(_T(TEST), _T(BUTTON))
どなたか教えていただけませんでしょうか?
環境は WTL7.5のVC2005です。
WTLは分かりませんが、何となく気になることが1つ。
ツールチップが表示される時に、tipオブジェクトは有効ですか?
tipがローカルオブジェクトなら、ツールチップが表示される時には破棄されてい
るので表示されません。
私自身、以前にはまったことがあります。
CTooltipCtrls はクラスのメンバ変数として定義しているので
そのコントロールが破棄されるまでは保持されています。
TEENさん
> CTooltipCtrls はクラスのメンバ変数として定義しているので
> そのコントロールが破棄されるまでは保持されています。
となると、残念ながら、これ以上は分からないです。
> ツールバーに独自のコントロールを貼り付けて
ツールバーは、WTLで作っていますか?
>ツールバーは、WTLで作っていますか?
はい
WTLのCToolBarCtrlを使用しています。