SDK環境でツールチップを表示するには?

解決


ゆういちろう  2012-07-14 18:55:34  No: 73462  IP: 192.*.*.*

こんにちは。
首題の件で質問です。

現在、VC2008(C言語・SDK、ダイアログベース)でアプリの開発を行っております。

エディットコントロールやボタンにマウスフォーカスが来た場合、
ツールチップを表示させるという処理を実現しようとしているのですが、
うまくいきません。

まず、『猫でも〜』さんのツールチップに関する説明↓
  http://www.kumei.ne.jp/c_lang/sdk/sdk_65.htm
また、『インコの〜』さんのツールチップに関する説明↓
  http://gurigumi.s349.xrea.com/programming/visualcpp/sdk_toolbar5.html

を拝見したのですが、両者ともツールバー上でのツールチップ表示であり、
ダイアログ上でのツールチップ表示についての言及は無いようです。

ダイアログ上でもツールチップを表示させる方法はありませんでしょうか?
どなたかご教授よろしくお願いします。

編集 削除
瀬戸っぷ  2012-07-15 01:12:58  No: 73463  IP: 192.*.*.*

フォーカスが来たときで制御できるかは不明ですが…
http://www.kumei.ne.jp/c_lang/sdk/sdk_66.htm
でできませんか?

TOOLINFO構造体のrectにエディットボックスやボタンの場所を入れてみてはどうでしょうか?

http://home.att.ne.jp/banana/akatsuki/doc/mfc/mfc22/index.html
MFCの例ですが…SDKとして展開(必要な処理を自前で書く)すれば、どうでしょう?
TOOLTIPS_CLASSでMSDNを検索するといろいろ見付かるかと思われます。

ちなみに、ダイアログであれば私はDS_CONTEXTHELP付けて[?]ボタンの後でコントロールがクリックされたら…
という方法でヘルプを表示させています。
HtmlHelp()でHH_DISPLAY_TEXT_POPUPコマンド使ってます。
TOOLTIPS_CLASSの方が良かったのかなぁ…。

編集 削除
ゆういちろう  2012-07-15 11:40:02  No: 73464  IP: 192.*.*.*

瀬戸っぷ様

お返事ありがとうございます。
ご提示して頂いた
> フォーカスが来たときで制御できるかは不明ですが…
http://www.kumei.ne.jp/c_lang/sdk/sdk_66.htm
>でできませんか?
> TOOLINFO構造体のrectにエディットボックスやボタンの場所を入れてみてはどうでしょうか?
という情報と、
http://www.geocities.jp/midorinopage/Tips/tooltip.html#pagetop
のサイトの情報から、うまく実現することが出来ました。
ありがとうございます!

(実現後に、
http://wisdom.sakura.ne.jp/system/winapi/common/common10.html
というサイトを見つけました。
ここではダイアログそのものに対してツールチップを表示させる方法が載せられていますが、
登録する親ハンドルをボタンやエディットなどにすると、
今回私が実現したかったことができるようです。)


> ちなみに、ダイアログであれば私はDS_CONTEXTHELP付けて[?]ボタンの後でコントロールがクリックされたら…
> という方法でヘルプを表示させています。
> HtmlHelp()でHH_DISPLAY_TEXT_POPUPコマンド使ってます。
こんな方法があるとは!アドバイスありがとうございます!
こちらの方法も参考にしてみようと思います。
TOOLTIPS_CLASSだとマウスフォーカスで自動的にヘルプが表示されてしまうんですが、
この方法だと「右クリック時にヘルプを表示」といった条件を指定?してヘルプが表示できそうです。

どうもありがとうございましたm(_)m

編集 削除