喫茶XRAYトップページ

[スレッド全体
]

[1752] Re3:TWebBrowserで画像の縮小表示返信 削除
2008/7/13 (日) 13:31:14 宮 〔HomePage
▼ Mr.XRAYさん
 
> ところで,宮さんのブラウザでは,フォルダは,最初から[写真]で
> 表示しますけど,どうやっているんでしょう?
>

造った本人が訳がわからないのにEmbeddedWBがかってに処理していると思います。

私の場合はタブですから動的に作成表示していますが、
特別なことはしていないつもりです。
ただMrXRAYさんの表示切替をテストしていて気づいたのですが、
EmbeddedWBはデフォルトで
縮小、Icon、Titol表示はフォルダ内容を見て自動選択して表示しているのを発見しました。
例えばドライブパスはIcon、画像がある比較的小さいフォルダは縮小・・ある時はTitolなど。
なにもプロパティはいじっていません。
そこで、一覧表示と詳細表示は事前に設定しておけば、つねにそのモードで開くように出来ないか
試してみたのですが、前進後進などでデフォルトに戻ってしまいますね。
前進後進は非常に有効なので捨てたくないですし。
お粗末ですが、関係するのではと思う部分を書きます。
外していたらごめんなさい。

//すべてのパス、ファイル種類、URL等を分類して表示方法を振り分ける。
function  TForm1.FileAllOpen(FileName:string):Boolean;
                //フォルダパスだったらサムネイル表示をする
        if PageCheck(tSAM,2)=false then<--サムネイルのタブがすでにあるか調べて
        begin
                        //ない場合はフォルダパスを渡して新規にタブを作成して表示する。
            if TabSheetEx.TabSheetCreate(tSAM,FileName)=false then exit;
        end
        else
        begin //サムネイルタブが既存の場合ここでNavigateすると前進後進が有効になる
            (Form1.PageControl1.ActivePage as TTabSheetEx).EmbeddedWB1.Navigate(FileName);
        end;

//タブを作成するTTabSheetExクラス
function TTabSheetEx.TabSheetCreate(style:string):Boolean;
begin
        TabSheetEx :=  TTabSheetEx.Create(Form1.PageControl1);
        TabSheetEx.Parent       := Form1.PageControl1;
        TabSheetEx.PageControl  := Form1.PageControl1;

                TabSheetEx.EmbeddedWB1.Navigate(style);
end

constructor TTabSheetEx.Create(AOwner: TComponent);
        EmbeddedWB1 := TEmbeddedWB.Create(self);
        TOleControl(EmbeddedWB1).Parent := self;
end;
 

[1753] Re4:TWebBrowserで画像の縮小表示返信 削除
2008/7/13 (日) 17:25:01 宮 〔HomePage

早速、マスターのコードを組み込まさせていただきました。m(_ _)m
使い勝手は追々考えますが、とりあえずメニュー「表示切替」内に
縮小、一覧、詳細、などの切替をとりあえず追加してアップしました。
(ボタンを追加したいのですが、VGA画面の方が画面からはみ出ると怒られますので)

これでも、今まで、画面のポップアップメニューの表示項目で
セレクションしているときより格段の便利さです。(自分にとってですが)

大きいフォルダを開いて、ファイルを見つけるとき一覧表示にして、
とても便利です。
テストで一度表示させてから、セットしておいた一覧、詳細などで再表示
させてみたのですが、フォルダを深く潜っていき、戻るときデフォルトに
戻ってしまいます。
エクスプローラみたいにこれを維持できればいいですね。

では。感謝、お礼まで。



[1754] Re4:TWebBrowserで画像の縮小表示返信 削除
2008/7/13 (日) 17:31:16 Mr.XRAY
▼ 宮さん

> EmbeddedWBはデフォルトで
> 縮小、Icon、Titol表示はフォルダ内容を見て自動選択して表示しているのを発見しました。
> 例えばドライブパスはIcon、画像がある比較的小さいフォルダは縮小・・ある時はTitolなど。
> なにもプロパティはいじっていません。


EmbededWB便利そうですね.一応ダウンロードしていますが,
最新のバージョンではIE7が必要だとかで,古いバージョンを使おうかと.

> 前進後進などでデフォルトに戻ってしまいますね。

イベントで処理するしかなさそうですね.
どのイベントでというのが,これまた難題なような

Googleのサーチを作成して思ったのですが,IEコンポ(WebBrowser等)
を使いこなすのは結構大変だということが分かりました.
宮さんのアプリを操作してみると,
「えっ,これどうやっているんだい?!」
と考えることしばしばです(笑).


[1755] Re5:TWebBrowserで画像の縮小表示返信 削除
2008/7/14 (月) 14:27:31 宮 〔HomePage
▼ Mr.XRAYさん
> 宮さんのアプリを操作してみると,

師匠に拙作を見て頂いたなんて光栄の至りです。

今、マスターの「簡易エクスプローラー」を勉強中ですが
あのようなことが、EmbeddedWBで出来るかもしれませんね。

Mr.XRAYさんは、不屈の精神をお持ちですから、いつか
「できたからアップするよ」と言われるかもしれません、気長に待ちます。(他力本願)
では。




[1756] 推奨できない方法 WM_COMMANDによる操作返信 削除
2008/7/15 (火) 00:21:46 Mr.XRAY
▼ 宮さん

例の表示(縮小,一覧など)のテストプログラムですが,参考サイトでは
ファイルの保存,開く・#95;イアログで,直接 WM_COMMANDを送っています.
これはあまり勧められない方法ですよね.
OS等が変われば変更となる可能性があります.しかし,現在のところ動作
しているのは,マイクロソフト自身も,この値を変更してしまうと,大変
な作業となるからではないでしょうか.
あるいは,私の知らない情報では定義されているのかも知れません.

このコードのテストのために

http://mrxray.on.coocan.jp/Delphi/plSamples/300_HookCallWndProc.htm#02

を作成してみました.これによると,SHELLDLL_DefView に値を送っています.
実際やってみると,ちゃんと動作します.
そこで,試しに,WebBrowserに送ったら,と考えて作成したのがUPしたプロ
グラムなんです. (^_^;)


> 今、マスターの「簡易エクスプローラー」を勉強中ですが

これもファイル表示のスクロールをキーで行うとガタガタです.早く修正
しようと思っているんですが.
シェルネームスペースによるコードもほったらかしです.

> あのようなことが、EmbeddedWBで出来るかもしれませんね。

ルートフォル・#95;の設定等はちょっと無理かも知れませんね.
実際どうなんでしょう.

エクスプローラでの[表示]操作結果
wParam LOW (wParamの下位ワード値)が,UPしたプログラムの値と一致している
のがわかる.


[1757] Re:推奨できない方法 WM_COMMANDによる操作返信 削除
2008/7/17 (木) 03:11:49 宮 〔HomePage
▼ Mr.XRAYさん

>直接 WM_COMMANDを送っています.
>これはあまり勧められない方法ですよね.


    if Sender=mSamnaile then begin
     AViewStyle := SHVIEW_THUMBNAIL;
    end else
SHVIEW_THUMBNAILこの定数がOSにより変わる可能性があるということですか?
XPとVistaでいいならいいのでは。(無責任あ(笑))

> このコードのテストのために
> http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/300_HookCallWndProc.htm#02
>

これはまだ私には高度すぎて何をしているコードか判りませんが
ようはSHVIEW_THUMBNAIL = $702D;が正しいと証明するコードですか?

>
> ルートフォル・#95;の設定等はちょっと無理かも知れませんね.
> 実際どうなんでしょう


ShellTreeView + WebBrowserで簡易エクスプローラのようなことをやる
意味の取り違えかもしれませんが拙作のBrowserのフォル・#95;バールート切替では
(左端の)ボタンで次のようにしてルートを変更しています。
procedure TForm1.Button1Click(Sender: TObject);
    if SelectDirectory('最上位フォル・#95;(ルート)を選択します。','', Dir) then
        ShellTreeView1.Root:=Dir;

なんだか内容がめちゃめやなことを書いたようですみませんm(_ _)m



[1758] Re2:推奨できない方法 WM_COMMANDによる操作返信 削除
2008/7/17 (木) 09:51:35 Mr.XRAY
▼ 宮さん

> ようはSHVIEW_THUMBNAIL = $702D;が正しいと証明するコードですか?

正しいというより,確認用ですね.

> (左端の)ボタンで次のようにしてルートを変更しています。

この[メニューバー]もWebBorwserで表示しているんですか?
なるほど.
WebBrowserも中々(ん? EmbededWBだからなのかな).

[1759] Re3:推奨できない方法 WM_COMMANDによる操作返信 削除
2008/7/17 (木) 18:44:50 宮 〔HomePage
▼ Mr.XRAYさん
>
> 正しいというより,確認用ですね.


判りました。

>
> > (左端の)ボタンで次のようにしてルートを変更しています。
>
> この[メニューバー]もWebBorwserで表示しているんですか?
> なるほど.
> WebBrowserも中々(ん? EmbededWBだからなのかな).


赤い★印ボタンのフォルダツリーはShelltreeviewです。
EmbeddedWBにも機能(DemoのLocal folsers)を内蔵していますがまだ使っていません。
(今後の研究課題)

ShellTreeViewとEmbeddedWBの組み合わせで
Mr.XRAYさんの例のフック関数のおかげでコードは書いていませんが
マルチセレクションでサムネイルのURLアドレスバーへのドラッグ&ドロップや
削除、コピーなど出来ますから、
ベテランの方がコードを書けばおもしろいのが作れるとおもいます。
今のところ出来ないのがサムネイル上での名前変更だけです。

ShellTreeViewは、ちまたで報告されている
バグ対策を施した物です。
当初、サブフォルダをルートに指定すると
親フォルダ名が表示されていましたが
(例えばprojectフォルダをルートにすると、
ルートフォルダ名がBorland6という風に、
ただしツリーはちゃんとprojectの内容でしたが
最近それが知らないうちに直りました。
sp3にしたこと、IEを7にしたことぐらいしか
自分ではいじっていないはずですが・・不思議です)
では。




[1760] Re4:推奨できない方法 WM_COMMANDによる操作返信 削除
2008/7/17 (木) 20:02:06 Mr.XRAY
▼ 宮さん

> 今のところ出来ないのがサムネイル上での名前変更だけです。

プレッシャーかけてません?  (^_^)
ここのところ,コンポ類の整備をしていますので,一段落しましたら
とりかかりたいと考えています.

>マルチセレクションでサムネイルのURLアドレスバーへのドラッグ&
>ドロップや削除、コピーなど出来ますから、


これ,確認しました.う〜ん,入力めんどうだな,と思ってD & Dしたら
あれっ,できるんじゃん,と.すごいですね.宮パワーですね.

> 最近それが知らないうちに直りました。

なんなんでしょう?

[1764] Re5:推奨できない方法 WM_COMMANDによる操作返信 削除
2008/7/21 (月) 19:30:09 宮 〔HomePage
▼ Mr.XRAYさん
> ▼ 宮さん
>
> > 今のところ出来ないのがサムネイル上での名前変更だけです。
>
> プレッシャーかけてません?  (^_^)


(^^;)決してそのような魂胆はありません。
来年、再来年でも良いんです。
では。



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82