質問

これはエンコーディングオプションを持っていると私は現在TOpenTextFileDialogを使用しますが、Vistaで、それは古いオープンダイアログのスタイルを使用して表示されます。私は新しいスタイルのオープンダイアログが好き、私はカスタム文字列を入力することができエンコーディングコンボボックスと思います。基本的に私は、メモ帳はVistaで示し正確なオープンダイアログをしたいです。もちろん、私も同様に保存ダイアログ対応する必要があります。

私はいくつかの研究を行ってきた、OFN_ENABLETEMPLATEフラグが戻って古いスタイルにフォールVistaのコモンダイアログを起こしているようです。残念ながら、それはまた、(私が正しく物事を理解している場合。)TOpenTextFileDialogは、エンコーディングのコンボボックスを追加するためのウィンドウを修正する

することができますフラグです

誰もが私はVistaで欲しいものを取得する方法についての提案を持っていますが、まだそれはXPの下で働くのか?私は、Windows 7は、同じ問題を持っていることを前提としています。私はD2009を使用しています。任意の提案をありがとうか助けて!

役に立ちましたか?

解決

Vistaではファイルダイアログを扱うための新しい方法が導入された

、詳細についてはIFileDialogインタフェースのためのGoogleや<のhref = "http://akirabbq.wordpress.com/2009/02/06を見てみましょう/混乱-と-展望 - 共通ファイル・ダイアログ/」のrel = "nofollowをnoreferrer">このブログ記事で。あなた自身を言うように、OFN_ENABLETEMPLATEフラグを使用すると、古いスタイルにフォールバックするためにVistaのコモンダイアログを引き起こします。

のDelphi 2007と2009を使用すると、のVistaのダイアログのコンポーネントカテゴリにTFileOpenDialogTFileSaveDialogを使用することができます。 Vista以前のWindowsバージョンを使用してアプリケーション互換性を持たせるために、あなたはそれらのためTOpenTextFileDialogを使用し続けると、あなたはVista上で、新しいダイアログを使用できるかどうかを実行時に確認する必要があります:

if Win32MajorVersion >= 6 then begin
  // use TFileOpenDialog
  // ...
end else begin
  // use TOpenTextFileDialog
  // ...
end;

これであなただけのVistaのダイアログにカスタマイズを追加する必要があります。 ブログ記事には方法を示しています(このためには、OnExecuteインタフェースがすでに設定されていると呼ばれた時点で)、ダイアログのIFileDialogのハンドラを追加しDialogインタフェースのためのファイルダイアログのIFileDialogCustomizeメンバーを照会し、追加するには、これを使用することにより、これを行うには追加のコントロールます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top