CONTROLE INTERACTIF : DEPLACEMENT ET REDIMENSSIONEMENT
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 2007
-
16 mars 2006 à 17:10
DIMUSERS
Messages postés37Date d'inscriptionjeudi 8 juin 2006StatutMembreDernière intervention 2 septembre 2010
-
21 avril 2007 à 12:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
DIMUSERS
Messages postés37Date d'inscriptionjeudi 8 juin 2006StatutMembreDernière intervention 2 septembre 2010 21 avril 2007 à 12:42
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
cs_tigroux
Messages postés105Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention22 octobre 200816 16 janv. 2007 à 11:49
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.
romagny13
Messages postés687Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention27 août 20143 3 nov. 2006 à 23:41
éé super je cherchais sans chercher et je tombe sur ta source juste ce qu'il me fallait super
je mets 9/10
++
mastercatz
Messages postés193Date d'inscriptionjeudi 4 décembre 2003StatutMembreDernière intervention12 août 2010 27 avril 2006 à 10:17
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; }
}
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 200723 16 mars 2006 à 17:10
21 avril 2007 à 12:42
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
16 janv. 2007 à 11:49
Sinon Mastercatz pourrais tu me donner le code de ton interface et tes MoveButton et ResizeButton ca m'aiderai vachement.
3 nov. 2006 à 23:41
je mets 9/10
++
27 avril 2006 à 10:17
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; }
}
16 mars 2006 à 17:10