よろしくお願いします。WindXP、Delphi6 Personalです。
フォームにTWebBrowserを貼り付けてWebBrowser1.Navigate('フォルダフルパス');を実行すると
直下のフォルダやファイルをデフォルトでサムネイル表示しますが
画面を右クリックメニューの「表示」で「一覧」や「詳細」を選択するとその表示になります。
これを、Navigateのとき、あるいはButtonでコードにより一覧や詳細表示させる手段がありましたら教えてくださいませんか。
プロパティを探しても判りませんでした。
よろしくお願いいたします。
Vista,D7で動作確認しました。
ListViewスタイルは下記以外も存在すると思います。
いろいろ、調べてみてください。
動かなかったらご一報ください。
//TWebBrowser上のフォルダアイコンスタイルの変更
//参考
//デスクトップ上のアイコンの並び方の変更
//http://www.occn.zaq.ne.jp/maekawa/delphitip/index.html#c029
procedure TForm1.Button3Click(Sender: TObject);
var
h : HWND ;
GWLSTYLE : Longint;
LVS : Word;
begin
{//usesの下に書くと楽
const
LVS_ICON = $0000;
LVS_REPORT = $0001;
LVS_SMALLICON = $0002;
LVS_LIST = $0003;
LVS_TYPEMASK = $0003;
}
LVS:= $0003; //LVS_LIST;
h := FindWindowEx(WebBrowser1.Handle , 0, 'SHELLDLL_DefView', nil);
h := FindWindowEx(h, 0, 'SysListView32', nil);
GWLSTYLE := GetWindowLong(h,GWL_STYLE);
GWLSTYLE := GWLSTYLE and (not LVS_TYPEMASK);
GWLSTYLE := GWLSTYLE or LVS ;
SetWindowLong(h,GWL_STYLE,GWLSTYLE );
end;
もにゃ様誠にありがとうございました。
うまく解決できました。
レスが付かないのであきらめていました。
実際は、TWebBrowserではなくTEmbeddedWBを私は使用していますが
EmbeddedWBでも完動しました。
感謝いたします。
では。
ツイート | ![]() |