ツールチップをつけることができません

[戻る]
suzugoya [E-Mail] [HomePage] 2003/12/05(金) 21:32:36
いつも参考にさせていただいております
前回は、コントロールにツールチップをつける方法を教えていただきました
(2003/10/31)
同様の方法を試みたのですが次の場合、ツールチップをつけることができません
 @メニューにつける
 A複数行のツールチップ

環境:Windows98SE VC++6.0 API使用

NEG(ねぐ) [E-Mail] [HomePage] 2003/12/05(金) 22:11:47
 とりあえず複数行。v(^_^)
http://www24.cds.ne.jp/~neg/pro/piyo1/tool/fuku.html

suzugoya [E-Mail] [HomePage] 2003/12/06(土) 09:11:19
A複数行表示 できました
 NEGさん ありがとうございました
 長い間の試行錯誤は何だったんだろうと言う気もしますが
 その分、できたときの嬉しさと有り難さを大きく感じます
 

suzugoya [E-Mail] [HomePage] 2003/12/08(月) 17:17:21
質問の内容を変えます
メニューの内容の説明を表示できれば
ツールチップの代わりにEdit、STATIC、STATUS BAR 何でもよいのです
SDKでの方法が分かりません

Plasma 2003/12/08(月) 20:23:07
 メニューを所有しているウインドウのプロシージャで WM_MENUSELECT メッセージを処理すれ
ばご希望の動作を実現できるのではないでしょうか。
 『猫でもわかるプログラミング』の「第306章 メニュー項目の説明をステータスバーに表
示する」を参考にするとよいと思います。

http://www.kumei.ne.jp/c_lang/sdk4/sdk_306.htm

suzugoya [E-Mail] [HomePage] 2003/12/09(火) 00:14:05
Plasmaさん 有難うございます
"猫でもわかるプログラミング"
試してみました
 1、ツールバーではツールチップが出る
 2.WM_MENUSELECT  
   メニューアイテムをマウスダウンしたときにステータスバーに説明文がでる

ソフトにつけたい機能は、ツールチップのようにメニュー(ツールバーなし)の上にマウスを
持ってゆくだけで、説明文が表示されるものです

Plasma 2003/12/10(水) 00:46:00
 そういうことでしたら自分が提示した方法ではダメですね。
 通常のメニューバーに対してご希望の動作を実現する方法は自分には分かりませんが、
別の方法として、メニューバーを作成せずにレバーコントロールを作成し、その子ウイン
ドウとしてツールバー(イメージ無し/テキストのみ)を作成することで実現することが
出来ると思います。
 ツールバーボタンが押された時に自分でポップアップメニューを表示しなければならな
かったりと色々めんどくさいことが多そうですが、ツールバーボタンに対してチップヒン
トを表示することは容易に出来ると思います。
 自分では試していませんが、またまた『猫でもわかるプログラミング』を参考にすれば
出来ると思います。

 「第65章 ツールバーにツールチップをつける 」
 http://www.kumei.ne.jp/c_lang/sdk/sdk_65.htm

 「第311章 IE様メニューの試作 その1」
 http://www.kumei.ne.jp/c_lang/sdk4/sdk_311.htm

 ただし、今回の方法ではポップアップメニューに対してはチップヒントを表示すること
は出来ませんので、ポップアップメニューの説明は WM_MENUSELECT メッセージを処理し
て都合のよい場所(ステータスバー等)に表示する必要があります。

suzugoya [E-Mail] [HomePage] 2003/12/15(月) 11:09:14
Plasma さんへ
しばらく在所(?)を離れていたため返事が遅れてしまいました
申し訳ありません
レバーコントロールは使ったことがなかったので、良い機会を与えていただきました
これから試してみます
その後、結果を報告します

suzugoya [E-Mail] [HomePage] 2004/01/01(木) 22:19:43
@------------
>別の方法として、メニューバーを作成せずにレバーコントロールを作成し、その子ウイン
>ドウとしてツールバー(イメージ無し/テキストのみ)を作成することで実現することが
>出来ると思います。
> ツールバーボタンが押された時に自分でポップアップメニューを表示しなければならな
>かったりと色々めんどくさいことが多そうですが、ツールバーボタンに対してチップヒン
>トを表示することは容易に出来ると思います。
A-------------
> 「第311章 IE様メニューの試作 その1」
> http://www.kumei.ne.jp/c_lang/sdk4/sdk_311.htm
>
>ただし、今回の方法ではポップアップメニューに対してはチップヒントを表示すること
>は出来ませんので、ポップアップメニューの説明は WM_MENUSELECT メッセージを処理し
>て都合のよい場所(ステータスバー等)に表示する必要があります。

@メニューバーの代わりにレバーコントロールを利用する方法
 --->できました
A今後トライします

Bメニュー項目にツールチップをつけることはできませんでしたが、
  WM_NCMOUSEMOVE
  MenuItemFromPoint
  GetMenuString
を使用して、最上位のメニュー項目については
マウスがメニュー項目の上にきたときに( BUTTONDOWN しないで)
説明文を表示することができました

ただ、ご指摘されたようにポップアップメニューについてはできませんでした
(MenuItemFromPointでも、マウスがポップアップメニュー上にある時の位置を取得できな
い)

Plasma様 ありがとうございました

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