FileDialogの表示メニュー操作 – プログラミング – Home

FileDialogの表示メニュー操作
 
通知
すべてクリア

[解決済] FileDialogの表示メニュー操作


オッペンハイマー
 オッペンハイマー
(@オッペンハイマー)
ゲスト
結合: 16年前
投稿: 10
Topic starter  

質問させて頂きます。

FileDialogを表示した場合、

表示メニューで「縮小版」「並べて表示」...「詳細」等と、
ファイルの表示を変更ができます。

上記の表示メニューの切替えをFileDialog生成時、
又はInitDialog関数で行う事は可能でしょうか?

調査内容
現在、調査中ですが、下記2点から行き詰ってます。

・OPENFILENAME構造体に設定すべきデータがない

・以下に似たフラグによる設定が見つからない
 OFN_ALLOWMULTISELECT
 OFN_CREATEPROMPT
 OFN_FILEMUSTEXIST
 OFN_HIDEREADONLY
 OFN_NODEREFERENCELINKS

どうか、ご教授の程、宜しくお願い致します。


引用未解決
トピックタグ
かもねぎ
 かもねぎ
(@かもねぎ)
ゲスト
結合: 17年前
投稿: 61
 

このへんのことでしょうか・・・
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31949&forum=7


返信引用
オッペンハイマー
 オッペンハイマー
(@オッペンハイマー)
ゲスト
結合: 16年前
投稿: 10
Topic starter  

ご回答ありがとうございます。
以下の方法で行えることを確認しました。

wnd = xxxxxx (※Spy++で取得したダイアログクラスのハンドル)
WPARAM wParam = 0x7029;

HWND listviewHandle = FindWindowEx( wnd, 0, SHELLDLL_DefView, ");
::SendMessage( listviewHandle , WM_COMMAND, wParam , 0 );

しかし、Spy++で取得したダイアログ全体のハンドルと、
GetSafeHandle()メソッドではハンドルが異なるのです。

Spy++で取得したダイアログ全体のハンドルをAPI,MFCで取得する方法はご存知でしょう
か?


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

ハンドルはウインドウが生成される度に割り当てられると
思うので基本的にSPY++で取得しても無意味だと思います。

ちなみにですが、使っている開発環境のバージョンは
何なんでしょう?
それによっては答えが変わってくる事もあると思いますけれど。


返信引用
オッペンハイマー
 オッペンハイマー
(@オッペンハイマー)
ゲスト
結合: 16年前
投稿: 10
Topic starter  

基本的には以下のコードで変更が可能なのを確認しました。
WPARAM wParam = 0x7029;
     HWND wnd( ::GetParent(this->GetSafeHwnd()) );
HWND listviewHandle = FindWindowEx(wnd4, 0, SHELLDLL_DefView, ");
LRESULT rlt = ::SendMessage( listviewHandle ,WM_COMMAND, wParam , 0 );

ありがとうございます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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