- ベストアンサー
SHBrowseForFolderに
限らないのですが SHBrowseForFolderででてくるダイアログをサブクラス化してカスタマイズしてのですが、 新たに追加したエディットコントロールを SHBrowseForFolderのダイアログの左上の?でクリックしても 「この項目に対するトピックは有りません。」 と言うメッセージがでてきます。 追加したエディットコントロールにポップアップヒントとしてトピックを追加するにはどうしたらいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コントロールのヘルプを表示させるためのサンプルです。MFCですが、SDKでもほとんど同じです。 WinHelp http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/_core_adding_control_help_in_a_dialog_box.asp HTMLHelp http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/vchowdisplayingcontrolhelp.asp ちなみに OnHelpInfoはWM_HELPINFOのメッセージを処理する関数、 OnContextMenuは、WM_CONTEXTMENUを処理する関数です。 ということで、ヘルプファイルを作成し、この2つのメッセージに対する処理を追加してあげる必要があるのでしょう。 サブクラス化しているということなので、メッセージは取れるはずでしょうし。 試したこと無いのであやふやですが。参考までに。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
?ボタンを表示するための拡張スタイルはWS_EX_CONTEXTHELPなので、 これを外してあげれば消えるんじゃないかと思います。 ただし、消えないかもしれませんが・・・ GetWindowLong()で拡張スタイルを取得し、SetWindowLong()で変更した スタイルを設定してあげてください。 タイミングはWM_INITDIALOGがベストです。 ちなみにこれも未確認です。 こんなキーワードでgoogleで検索すれば、似たようなサンプルは出てくると思います。 「動的 スタイル 変更 SetWindowLong GetWindowLong」
お礼
ありがとうございました。
お礼
ありがとうございます。 SDKでは難しそうなので駄目ならば?を削除したいと思います。 タイトルバー右の?を削除する方法はありますか?