CFileDialogクラスによるファイル選択画面の「?」ボタンについて – プログラミング – Home

CFileDialogクラスによるファ...
 
通知
すべてクリア

[解決済] CFileDialogクラスによるファイル選択画面の「?」ボタンについて


しの
 しの
(@しの)
ゲスト
結合: 20年前
投稿: 12
Topic starter  

みなさんこんにちは。
「しの」と申します。
こちらのサイトは時々参考にさせていただいております。
今日は、初めて質問させていただきます。よろしくお願いします。

OS:WinXPProfessional SP1
開発ツール:VC++ Ver6

現在、CFileDialogクラスを使用し、ファイル選択画面から選択されたファイルを取得す
る機能を作成しております。
ここで質問ですが、このクラスによるファイル選択画面の右上に「?」ボタンが表示さ
れ、このボタンを押下後、画面内のオブジェクトを選択すると吹き出しでヘルプが表示
されます。この「?」ボタンを表示しないようにする方法はないのでしょうか?
OPENFILENAME構造体のヘルプやdwFlagsに設定するフラグの内容を見ても「?」ボタンを
表示しないようにするような方法は無いように思います。
もしくは、「?」ボタンを押下後、画面内のオブジェクトを選択すると吹き出しで表示さ
れるヘルプの内容を変更する方法はないのでしょうか?

どなたかご存知の方がいらっしゃいましたらご伝授願えれば嬉しいです。
よろしくお願いします。


引用未解決
トピックタグ
瀬戸っぷ
 瀬戸っぷ
(@瀬戸っぷ)
ゲスト
結合: 22年前
投稿: 160
 

> ここで質問ですが、このクラスによるファイル選択画面の右上に「?」ボタンが表示さ
> れ、このボタンを押下後、画面内のオブジェクトを選択すると吹き出しでヘルプが表示
> されます。この「?」ボタンを表示しないようにする方法はないのでしょうか?

ダイアログのスタイルと拡張スタイルを変更することで消せます。
(どちらか片方だけでも大丈夫なのかも知れませんが年のため両方を)

CFileDialogからクラスを派生させ、
そのクラスのOnInitDialogにて、下記のようなコードで消えるかと。

CWnd *Dialog = GetParent();

Dialog->ModifyStyle(DS_CONTEXTHELP, 0);
Dialog->ModifyStyleEx(WS_EX_CONTEXTHELP, 0);

消えない場合、ModifyStyleEx()の第3引数で「SWP_NOMOVE | SWP_NOSIZE |
SWP_NOZORDER」辺りを設定して
SetWindowPos()の呼び出しでフレームの再描画をさせるようにしてみて下さい。

# 以前、SDKで試したらしくコードがコメントアウトして残ってた。
# MFCでの動作確認してみました。


返信引用
しの
 しの
(@しの)
ゲスト
結合: 20年前
投稿: 12
Topic starter  

瀬戸っぷさん、レスありがとうございます。
アドバイスしていただきました、下記の方法によりファイル選択画面の「?」を消すこと
ができました。
> CFileDialogからクラスを派生させ、
> そのクラスのOnInitDialogにて、下記のようなコードで消えるかと。

> CWnd *Dialog = GetParent();

> Dialog->ModifyStyle(DS_CONTEXTHELP, 0);
> Dialog->ModifyStyleEx(WS_EX_CONTEXTHELP, 0);

本当にありがとうございました。
まだまだ、VC++,MFCについて勉強しないければいけないことが沢山あるようで
す。
これからもVC++,MFCの知識習得に頑張っていこうと思います。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました