ツールチップを更新するのは?

解決


  2007-11-04 22:27:03  No: 66746

質問させて頂きます。

一つのウィンドウにツールチップを実装しているのですが、
そのウィンドウ内でそれぞれ指定した位置にマウスカーソルが動いた時に
異なった内容のチップを表示させたいと思っております。

ですが、一つのウィンドウにしかチップを実装していませんので
一度チップが表示された後に、指定した位置にカーソルを持って行っても
表示したいメッセージのチップは表示されません。

ツールチップを更新させるような方法というはありますでしょうか?
ご教授を御願いいたします。


シャノン  2007-11-05 07:03:25  No: 66747

環境は何ですか?
一応、どの環境であっても応用が利くであろう Windows SDK の方法をば。

TTM_ADDTOOL 時の TOOLINFO 構造体の lpszText を LPSTR_TEXTCALLBACK にしてやれば、ツールチップ文字列が必要な時に WM_NOTIFY に乗せて TTN_GETDISPINFO が来るので、その時の状態に合わせた内容を返してやればいいんじゃないでしょうか?


  2007-11-05 08:07:52  No: 66748

>シャノンさん
レス有難うございます。
WindowsSDKを用いて実装しています。
ツールチップの表示ですが、TTN_GETDISPINFOが受けとった時に表示したいメッセージを渡しております。

  ですが、一つのウィンドウにしか実装していませんので
一度表示メッセージを渡すと、マウスカーソルをウィンドウの外に移動させるか
ツールチップが消えるか迄待たなければ、指定した位置にカーソルを持って行ってもTTN_GETDISPINFOが送られてこない状態です。

  自分からTTN_GETDISPINFOを送らせる、もしくは新しいメッセージを設定して表示させる方法等ありましたらご教授を御願いします。


subaru  2007-11-05 10:34:22  No: 66749

一つのウィンドウに複数のツールチップを作成することも
可能ですがそれじゃだめなんでしょうか?


  2007-11-07 05:50:39  No: 66750

レス遅くなり申し訳ございません。
ツールチップに登録する際、範囲を決めてチップに追加してみました所
うまく行きました。

  ご教授して頂いて方々有難うございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加