Composant conteneurs d'objets avec drag and drop façon assistant creation tableaux croisés excel

Soyez le premier à donner votre avis sur cette source.

Vue 7 104 fois - Téléchargée 830 fois

Description

Alors j'ai tenté de recréer le composant lorsque l'on cliques sur le bouton disposition de l'assistant de creation de tableaux croisés dynamiques sous excels. On peut ajouter n'importe quel composant dans le conteneur, et utiliser le drag and drop pour faire passer d'un conteneur à un autre. Le composant DragComponentContener regroupe 4 contener pour créer le composant excel like.
J'espère que c'est assez clair !

Tout est dans le zip avec un exemple, si ça peut servir à d'autres ...

Conclusion :


J'ai utilisé la source de florenth :
http://www.delphifr.com/code.aspx?ID=32414
pour afficher l'image de boutons pendant le drag.
Merci à lui !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
286
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
16 juillet 2007

Merci de ton commentaire
L'erreur est normale, pour la corrigée, il faudrait créer les boutons dans un conteneur directement, mais pour l'exemple j'ai laissé comme ceci. Le var n'as rien à faire la, en effet ;) Tu ne peux pas cliquer sur les boutons, vu qu'ils sont en dragMode dmAutomatic. Tu peux mettre manual, et dans le onclick begindrag ou startdrag je ne sais plus si tu veux controler toi même le drag.
Pour ce qui est des parenthèse, c'est une habitude que j'ai car elle facilitent les chose lorsque l'on test plusieures conditions.

@+

PS: j'oubliais, mais on peut déplacer les composants au sein d'un conteneur pour les réorganiser.
Très bonne utilisation de ma source ! Je suis content de voir que ça sert !

Sinon, l'effet est très bien, le redimentionnement des contrôles aussi et les petites flèches font très "pro" ^^

Des remarques cependant:
- D'où vient ce "var" dans DragComponentContainer.pas ligne 11 ? Tu es dans une déclaration de membres d'une classe, il ne faut rien mettre devant "FDragDrop: TDragDropViewer".

- J'ai une erreur "invalid class type" lorsque je déplace les boutons dans le composant pour la première fois. En regardant le code, ce n'est pas étonnant, vu que les boutons sont au départ dans la fiche et non dans le composant que tu as crée !

- Je n'arrive pas à cliquer sur un bouton. C'est le comportement voulu ou alors j'ai mal compris ?

- Au niveau de la présentation du code, il serait préférable d'avoir la même indentation partout ! Deux espace: c'est le meilleur choix.

- Toujours dans la syntaxe: au lieu d'écrire Procedure(); tu peux écrire Procedure; De même pour les fonctions sans arguments. Toujours dans les parenthèses en trop, au lieu d'écrire "if(frompos>topos) then", il est préférable d'écrire "if FromPos > ToPos then".
Un peu de majuscules dans les noms de variables permettrait sûrement d'y voir plus clair même si le code n'est pas très compliqué à comprendre.

Cela dit, c'est un bon composant, qui a une utilité limitée certes, mais dont le TComponentContainer est bigrement utile....

A+
Florent

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.