ATTENTION : le code présenté ne pourra pas être utilisé tel quel, car je l'ai développé pour l'utiliser avec des composants que je ne souhaite pas publier pour l'instant.
Pour pouvoir l'utiliser, il faudra supprimer les références aux unités non publiées, et remplacer les types TCHAMPS et autres par vos Composants.
L'exécutable est joint au ZIP, pour vous permettre de tester le fonctionnement.
Pour accélerer mes tests, une fenêtre est ouverte avant la fenêtre principale de l'application.
Cette fenêtre correspont à la fenêtre obtenue par l'entrée de menu "Les Fichiers Naturels/Saisie", ainsi court-circuitée.
Dans cette fenêtre, le bouton "Editer la Fiche", ouvre la fenêtre qui nous interresse : "Conception", issue des UConception.PAS/DFM. Elle est une instance descendante de TEZFiche, descendant elle-même de TFORM.
Pour vos developpements personnels, elle peut être une TForm toute simple.
Grace à la présence d'un TToolBar, l'utilisateur peut sélectionner un composant.
Les Evènements OnClick, OnMouseDown, OnMouseMove, OnMouseUp, permettent l'insertion d'un composant du type sélectionné, le déplacement et le dimensionnement des composants existants.
2 composants particuliers posent problème. Ce sont tout deux des composants conteneurs, TChampTableau (composant perso) et TPageControl (ou plus exactement TPageControlEx = TPageControl + 3 propriétes "publiquées", défini dans UConception.Pas)
La contenance m'a posé de nombreux pb que j'ai du mal à résoudre.
Par exemple, pour une raison inconnue, Un TPageControl ne repond pas aux évènements OnMouse...
Donc impossible d'y déposer un composant (contrairement au TChampTableau !)