2009-08-08 7 views
2

Je voudrais créer un "datamodule" personnalisé dans Delphi, une classe TDataModule like (peut-être héritée) qui aurait une interface de conception basée sur une grille personnalisée (un composant par ligne, certaines propriétés en colonnes) . Est-ce possible? Où devrais-je commencer?Création d'un concepteur de formulaire personnalisé

Je suis actuellement en utilisant Delphi 2007.

Répondre

2

Comme pointeur Nick Hodges ici:

Drawing on a DataModule in Delphi

il serait difficile de peindre sur le descendant TDataModule. Pas impossible probablement, mais ne vaut pas la peine à coup sûr.

Je considérerais la conception d'un TDataModule entièrement nouveau à partir de zéro, de sorte que vous auriez un contrôle complet sur elle. Bien sûr, beaucoup de travail probablement, mais à la fin ça serait payant.

Vous pouvez trouver la classe TDataModule dans l'unité Classes.pas. Mais ceci est juste la partie du code qui fait partie de l'exécution. Les autres parties sont liées à l'IDE. Vous pouvez trouver des unités liées à ToolsAPI dans "c: \ Program Files \ Borland \ BDS \ 4.0 \ source \ ToolsAPI \" pour BDS 2006 par exemple. Vous pouvez également dériver votre propre module de données de TDataModule et l'enregistrer avec RegisterCustomModule (DesignIntf.pas). Je ne sais pas beaucoup plus sur ce sujet, peut-être que d'autres le font. Comme je l'ai dit, ce ne serait pas facile de faire quelque chose comme ça. Mais peut-être qu'avec cette information initiale vous pouvez trouver ce que vous voulez.

+3

Nick parlait de dessiner un arrière-plan pour un TDataModule au moment du design. Un module de données est un contrôle non visuel. Vous ne pouvez pas l'afficher à l'exécution. –

+0

Avez-vous des pointeurs sur la conception de TDataModule complètement nouveau? Je pense que le code source du concepteur TDataModule actuel n'est pas disponible. – Harriv

+0

J'ai mis à jour la réponse avec ce que je sais sur le sujet – Runner

0

Il est impossible exactement comme vous le décrivez. Vous ne pouvez pas placer des composants visuels comme une grille sur un module de données. Vous avez besoin d'un formulaire ou d'un cadre pour cela. Si j'essayais de faire quelque chose comme vous le décrivez, j'utiliserais une liste pour contenir une liste de composants individuels, quelques boutons et une boîte de dialogue de sélection pour ajouter et supprimer des composants de la liste, et le composant TJvInspector de la JVCL pour modifier les propriétés. Ce serait beaucoup plus facile que d'essayer de créer une grille unique pour gérer la situation.

+0

Je ne pense pas aux composants visuels, mais au remplacement de TDataModule pour les composants non visuels. Je pense que je peux gérer la partie de l'interface utilisateur du problème, mais je ne sais pas comment intégrer une telle chose avec Delphi afin que je puisse créer TMyOwnDataModule en temps de conception et ajouter de nouveaux composants. – Harriv

3

Peut-être que c'est possible. Un exemple de concepteur de cadres XML peut être trouvé sur la page New IDE Building Blocks. Eh bien, cet exemple est pour Delphi 5, mais ce pourrait être un bon point de départ.

+0

Merci, ça me donne sur la bonne voie J'espère, bien que le contenu soit assez incomplet. – Harriv

Questions connexes