CONTROLE INTERACTIF : DEPLACEMENT ET REDIMENSSIONEMENT

Signaler
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
-
Messages postés
37
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
2 septembre 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36411-controle-interactif-deplacement-et-redimenssionement

Messages postés
37
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
2 septembre 2010

Manifique travail badrbadr, même si pour l'instant je n'ai pas encore tout pigé, c'est vraiment ce que je cherchais. Comme je le disais sur un autre thread, je trouve bizarre que ce que tu as développé toi même ne soit pas une méthode standard de contrôle puisque MS l'implémente en Design mode. Bref, sûrement veulent-ils en garder pour la suite (belle mentalité).
Merci, je me mets à bosser la dessus.
PS : Je pense aussi utiliser l'astuce de mastercatz pour ajouter un niveau d'abstraction. Si tu as déjà travaillé la dessus, je suis à ton écoute. Je vais aussi interroger mastercatz à ce sujet.
E. Laplane
Messages postés
105
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
22 octobre 2008
13
Tout d'abord merci pour ce code badrbadr.
Sinon Mastercatz pourrais tu me donner le code de ton interface et tes MoveButton et ResizeButton ca m'aiderai vachement.
Messages postés
687
Date d'inscription
lundi 10 janvier 2005
Statut
Membre
Dernière intervention
27 août 2014
2
éé super je cherchais sans chercher et je tombe sur ta source juste ce qu'il me fallait super
je mets 9/10
++
Messages postés
193
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
12 août 2010

Bon code, il m'a d'ailleurs servi pour mon projet, j'ai cependant juste une petite remarque. Personnelement j'ai besoin de textbox, checkbox, combobox redimensionnables pendant l'execution.
Donc si on suit ton code, il faudrait créer 1 fichier InteractiveControl par composant en changeant l'héritage du Control par le composant nécessaire. Or en faisant comme ca il faudrait aussi créer une classe MoveButton et ResizeButtion adaptée à la classe de chaque Controle ainsi créé.
Pour palier à ca, j'ai modifié le projet en ajoutant une interface (voir code apres) et je fais implémenter cette interface par tous les InteractiveControl créés. Apres il ne reste plus qu'à modifier les classes ResizeButton et MoveButton en remplacant les variables de type InteractiveControl par l'interface. Comme ca dans 1 seul projet j'ai autant de fichers InteractiveControl que de controles voulu + 1 fichier Move Button et 1 fichier ResizeButton communs à tous les autres + le fichier interface.
Je sais aps si j'ai été bien clair mais voila ce que j'ai fait (et ca marche) ^^
En tout cas merci bcp pour cette source, ca m'a bien aidé.

Voici le code de l'interface :

public interface IInteractive {
void UpdateLocation(Point newLocation);
void UpdateSizeAndLocation(Point mouseMove);
void UpdateSelectionLocation();
void UpdateSize(Point mouseMove);
int Left{ get; set; }
int Top{ get; set; }
int Width{ get; set; }
int Height{ get; set; }
Point Location{ get; set; }
}
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
15
Sympa :)