喫茶XRAYトップページ

[スレッド全体
]

[3877] Re2:エクスプローラのようなアプリ返信 削除
2010/11/2 (火) 00:03:13 Mr.XRAY
▼ たたみやさん

> マスター、作るってのはさすがですな〜。
> 私だったら真っ先に、Googleで探しちゃいます(^^;;)


いえ,いえ,探したんですよー.
ないんです,英語のサイトにも,掲示板みたいのに質問はあったのですが,
でもいろいろヒントとなるレスはあるのですが,具体的なコードが見つから
ないのです.

ところが,日本語のサイトでこんなのを見つけたんです.
http://rasuka.blogspot.com/2005/02/blog-post.html

これを頼りにMSDNの関数をどんどん調べて,もちろん翻訳エンジン使って(笑)
かなり苦戦しました.表示しても,クリックしたら何も起こらないとか,
全てデスクトップに出来てしまうとか.
でも,エクスプローラのようなコンテキストなのに「新規作成」がない
なんて...
というわけです.
サンプルプログラム集のその部分を記事から削除するのも悔しいし (^^;

http://rasuka.blogspot.com/2005/02/blog-post.html
とは似ても似つかないコードになってしまいましたが,
このサイトの方はどうやったんでしょうね? ちょっと不思議です.
しかし,大きなヒントになったことは間違いありせん.感謝です.

おかげで,シェル関係の関数類がWindows 2000時代に比べてかなり増えて
いることがわかりました.
今回は使っていませんが.

http://msdn.microsoft.com/ja-jp/library/bb776426%28en-us,VS.85%29.aspx
これからの関数を積極的に使用すると,完全にWindows 2000では動作しない
ことになっちゃいますね.



[3878] Re3:エクスプローラのようなアプリ返信 削除
2010/11/2 (火) 00:30:50 Mr.XRAY
▼ たたみやさんにというわけではないのですが,
この記事をもし読んでいる方の参考になれば.

まず,新規作成をメインメニューに表示,つまり現れるようにするには
http://rasuka.blogspot.com/2005/02/blog-post.html

が参考になりました.
ところがサブメニューが表示されません.
考えるところ,サブメニューは,メインメニューのハンドルを取得して,
そのハンドルの描画メッセージで処理する必要があるのでは?
(これは上で示したサイトの記事にヒントがあります)

そこで,メニューを作成した時点で,メインメニューから「新規作成」
という名前のItemを探しだし,このハンドルを取得し,そのウィンドウ
プロシージャ(サブクラス)で処理したというわけです.
実はもうひと,項目識別子のルートの問題がありますが,少し専門的に
なりますので省略します
(これはまってしまったのですが,マイクロソフトの仕様なんでしょうね,きっと).

メニューハンドルが取得できるわけですから,メニューをいろいろ操作
することが可能ですが,個人的にはやめといた方がいいような気がします.
このようなファイルリスト等のコンテキストメニューは,アプリ独自に
作成した方が,そのアプリを利用するユーザにとってはいいと思っています.

だって,エクスプローラのコンテキストメニューって,なんだかよく分からない
のがありますから.


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