2

独自のフォーム内にファイルを開くダイアログを埋め込むことが可能かどうかを知っている人はいますか?

タブ付きのダイアログがあり、タブの 1 つで、ユーザーが標準の開くダイアログと同じ機能を持つファイルを参照できるようにしたいと考えています。名入れなどで

私は、いくつかのサードパーティ コンポーネント、つまりJam Shell Browser Componentsを使用してダイアログを再作成することを検討しました。

この方法でほとんどの機能を取得できますが、場所バーやファイル名の自動補完\提案など、いくつか不足しています

4

5 に答える 5

5

不可能だとは言いたくありませんが、おそらく関与するであろうい winapi ハックの量を考慮すると、「いくつかのサードパーティ コンポーネントを使用してダイアログを再作成する」ことをお勧めしますが、VirtualShellToolsを使用します。VirtualShellTools は、この SVN アーカイブ
からダウンロードできます。 そして、これがGoogleコードのプロジェクトページです。

(少なくとも、ファイル名の自動補完コンボボックスがありますが、プレースバーがあるかどうかはわかりません)。それが役に立てば幸い。

于 2008-11-07T16:52:59.913 に答える
2

ちょっとしたメモですが、SHAutoCompleteを使用して自動完了コンボボックスを追加するのはかなり簡単です。

詳細については、この記事を参照してください。

于 2008-11-09T22:50:20.893 に答える
2

たぶん、このシェルコントロールデモがあなたを助けることができます。

サンプルフォーム

編集: ATMサイトがダウンしているようです。ウェイバックマシンが役立ちます。ウェイバックマシンに関連するコントロール
最新のダウンロードリンクは次のとおりです。

于 2008-11-10T08:04:48.840 に答える
2

プレース バーは、大きなアイコンに設定された TListView コンポーネントを使用して実装するのはそれほど難しくありません。Raizeコンポーネントライブラリには、この分野で役立つソースもあります。

于 2008-11-07T20:15:27.290 に答える
1

VCL コンポーネントを使用すれば、それほど時間はかからないはずです。オートコンプリートは難しくありません。Windows のドキュメントを十分に調べれば、残りのデータを取得できます。

タブの変更を検出し、開いているダイアログをタブページのように表示することで、ごまかすことができます。ユーザーがダイアログの外 (別のタブなど) をクリックしていることを検出し、タブを変更するまでダイアログが閉じないようにする必要があります。

乾杯

于 2008-11-09T23:13:44.560 に答える