2011-01-19 10 views
2

なぜGetOpenFileName関数()フックプロシージャだけで何もせずFALSEを返す場合、Windows 7で表示される別のダイアログが発生するまで(OFN_ENABLEHOOKOFN_EXPLORERフラグ付き)フックプロシージャを追加し?OFN_ENABLEHOOKはGetOpenFileName関数()の外観を変更する


更新:

ApparentlyはフックとVistaの/ Windows 7の外観を得ることは不可能です...誰かがこれを確認するか、対抗することができますか?

答えて

5

これは、MSがVista用のファイルダイアログボックスを完全に再構成したためです。フックは、リソースファイルを提供してファイルダイアログを拡張するために使用されます。このため、カスタマイズ担当者には多すぎるパワーが与えられます。ダイアログの標準要素をあまりにも簡単に変更することができますし、実際には多くのアプリがそうしました。ダイアログの再編成により、フックを使用した多くのアプリケーションが壊れてしまいます。それらはダイアログの要素を操作しようとしましたが、存在しなかったか、または異なって実装されていました。従来のバージョンのダイアログでは、そのようなアプリが「引き寄せ」を受けるようになっています。

フックを使用するときに新しい外観を得ることは不可能であるということは間違いありません。代わりに、IFileDialogCustomizeインターフェイスを使用してダイアログをカスタマイズする必要があります。これはあまり強力ではありませんが、ダイアログの標準部分とより一貫した外観と動作をもたらします。

関連する問題