ツールチップの表示

[戻る]
TEEN 2007/12/29(土) 16:58:42
お世話になっております。

ツールバーに独自のコントロールを貼り付けてツールチップを表示するというのを
やっております。


ツールチップの表示には 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です。

bun 2008/01/07(月) 09:30:54
WTLは分かりませんが、何となく気になることが1つ。

ツールチップが表示される時に、tipオブジェクトは有効ですか?
tipがローカルオブジェクトなら、ツールチップが表示される時には破棄されてい
るので表示されません。

私自身、以前にはまったことがあります。

TEEN 2008/01/08(火) 00:22:38
CTooltipCtrls はクラスのメンバ変数として定義しているので
そのコントロールが破棄されるまでは保持されています。

bun 2008/01/10(木) 10:51:49
TEENさん

> CTooltipCtrls はクラスのメンバ変数として定義しているので
> そのコントロールが破棄されるまでは保持されています。

となると、残念ながら、これ以上は分からないです。

ITO 2008/01/10(木) 19:22:14
> ツールバーに独自のコントロールを貼り付けて
ツールバーは、WTLで作っていますか?

TEEN 2008/01/12(土) 20:25:42
>ツールバーは、WTLで作っていますか?
はい 
WTLのCToolBarCtrlを使用しています。

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