Delphi でカスタムの「データ モジュール」を作成したいと考えています。これは、TDataModule のような (おそらく継承された) クラスで、カスタム グリッド ベースのデザイン インターフェイス (1 行に 1 つのコンポーネント、列としていくつかのプロパティ) を持ちます。これは可能ですか?どこから始めればよいですか?
現在、Delphi 2007 を使用しています。
Delphi でカスタムの「データ モジュール」を作成したいと考えています。これは、TDataModule のような (おそらく継承された) クラスで、カスタム グリッド ベースのデザイン インターフェイス (1 行に 1 つのコンポーネント、列としていくつかのプロパティ) を持ちます。これは可能ですか?どこから始めればよいですか?
現在、Delphi 2007 を使用しています。
多分それは可能です。XMLフレームデザイナの例は、新しいIDEビルディングブロックのページにあります。この例はDelphi5の例ですが、出発点として適している可能性があります。
Nick Hodgesがここで指摘しているように:
TDataModuleの子孫にペイントするのは難しいでしょう。おそらく不可能ではありませんが、確かにトラブルの価値はありません。
完全に新しいTDataModuleを最初から設計することを検討するので、完全に制御できます。確かに多くの作業が必要ですが、最終的には成果が得られます。
TDataModuleクラスは、Classes.pasユニットにあります。しかし、これはコードの実行時の部分にすぎません。その他の部分はIDE関連です。たとえば、ToolsAPIに関連するユニットは、BDS 2006の「c:\ ProgramFiles \ Borland \ BDS \ 4.0 \ source \ToolsAPI\」にあります。TDataModuleから独自のデータモジュールを派生させ、RegisterCustomModule(DesignIntf.pas)に登録することもできます。私はこの主題についてもっとよく知りません、多分他の人は知っています。私が言ったように、そのようなことをするのは簡単ではないでしょう。しかし、おそらくこの初期情報を使用して、必要なものを見つけることができます。
あなたがそれを説明するように正確にそれは不可能です。グリッドのようなビジュアルコンポーネントをデータモジュールに配置することはできません。そのためのフォームまたはフレームが必要です。
あなたが説明しているようなことをしようとすると、個々のコンポーネントのリストを保持するリストボックス、リストからコンポーネントを追加および削除するためのいくつかのボタンと選択ダイアログボックス、およびTJvInspectorコンポーネントを使用します。プロパティを変更するためのJVCLから。それは、状況を処理するために万能のグリッドを作成しようとするよりもはるかに簡単です。