• ベストアンサー

SHBrowseForFolderに

限らないのですが SHBrowseForFolderででてくるダイアログをサブクラス化してカスタマイズしてのですが、 新たに追加したエディットコントロールを SHBrowseForFolderのダイアログの左上の?でクリックしても 「この項目に対するトピックは有りません。」 と言うメッセージがでてきます。 追加したエディットコントロールにポップアップヒントとしてトピックを追加するにはどうしたらいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

コントロールのヘルプを表示させるためのサンプルです。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つのメッセージに対する処理を追加してあげる必要があるのでしょう。 サブクラス化しているということなので、メッセージは取れるはずでしょうし。 試したこと無いのであやふやですが。参考までに。

keyguy
質問者

お礼

ありがとうございます。 SDKでは難しそうなので駄目ならば?を削除したいと思います。 タイトルバー右の?を削除する方法はありますか?

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

?ボタンを表示するための拡張スタイルはWS_EX_CONTEXTHELPなので、 これを外してあげれば消えるんじゃないかと思います。 ただし、消えないかもしれませんが・・・ GetWindowLong()で拡張スタイルを取得し、SetWindowLong()で変更した スタイルを設定してあげてください。 タイミングはWM_INITDIALOGがベストです。 ちなみにこれも未確認です。 こんなキーワードでgoogleで検索すれば、似たようなサンプルは出てくると思います。 「動的 スタイル 変更 SetWindowLong GetWindowLong」

keyguy
質問者

お礼

ありがとうございました。

関連するQ&A