OVH Cloud OVH Cloud

plug-in visuel

8 réponses
Avatar
Bismark Prods
Bonsoir, Bonjour,

Est-ce que quelqu'un saurait de quelle manière il faudrait s'y prendre pour
la gestion de plug-in(s) pour un controle personnalisé ? J'aimerais pouvoir
choisir plusieurs modes d'affichage d'un de mes controles ou donner la
possibilité au client (acheteur) de modifier selon son environnement
graphique l'apparence dudit controle.

Merci

Bismark

8 réponses

Avatar
AlexC
Salut,

en gros tu veux implémenter la notion de "skins" dans ton interface
graphique ?

"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de news:

Bonsoir, Bonjour,

Est-ce que quelqu'un saurait de quelle manière il faudrait s'y prendre


pour
la gestion de plug-in(s) pour un controle personnalisé ? J'aimerais


pouvoir
choisir plusieurs modes d'affichage d'un de mes controles ou donner la
possibilité au client (acheteur) de modifier selon son environnement
graphique l'apparence dudit controle.

Merci

Bismark




Avatar
Bonjour,

que veut tu rendre customisable ?

par quel moyen le client peut il customiser ? (dans le designer visual
studio, dans l'application par un memu dynamique)

Sebastien


"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:
Bonsoir, Bonjour,

Est-ce que quelqu'un saurait de quelle manière il faudrait s'y prendre


pour
la gestion de plug-in(s) pour un controle personnalisé ? J'aimerais


pouvoir
choisir plusieurs modes d'affichage d'un de mes controles ou donner la
possibilité au client (acheteur) de modifier selon son environnement
graphique l'apparence dudit controle.

Merci

Bismark




Avatar
Bismark Prods
Voila ! je ne me souvenais pas du terme ! C'est bien cela ! Comment doit-on
s'y prendre ?


"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit
dans le message de news:eWkYdF$
Salut,

en gros tu veux implémenter la notion de "skins" dans ton interface
graphique ?

"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de


news:

> Bonsoir, Bonjour,
>
> Est-ce que quelqu'un saurait de quelle manière il faudrait s'y prendre
pour
> la gestion de plug-in(s) pour un controle personnalisé ? J'aimerais
pouvoir
> choisir plusieurs modes d'affichage d'un de mes controles ou donner la
> possibilité au client (acheteur) de modifier selon son environnement
> graphique l'apparence dudit controle.
>
> Merci
>
> Bismark
>
>




Avatar
AlexC
Et bien j'en ai déjà fait un mais je ne m'y suis certainement pas pris de la
bonne manière :

J'ai tout simplement déssiné mon ( mes ) contrôle (s) uniquement avec des
picturebox, que j'ai rempli d'images jpg.
Ensuite j'ai crée 2 fichiers skins pour mon récuperer les images, un
fichiers que j'avais nommé .Skn qui était en fait un fichier
XML qui disait ou était tel image et ou elle allait dans le controle; et un
fichier .Smg dans lekel je stockais toutes les images.

Comme je l'ai dit dans un autre post, question disign je suis pas un pro
donc il doit exister une meilleur solution, pour la part j'ai utilisé des
picturebox, mais on peux très bien utiliser un object graphics pour dessiner
ces memes images sur le controle, mais le code doit être un peu plus lourd.


"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de news:

Voila ! je ne me souvenais pas du terme ! C'est bien cela ! Comment


doit-on
s'y prendre ?


"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit
dans le message de news:eWkYdF$
> Salut,
>
> en gros tu veux implémenter la notion de "skins" dans ton interface
> graphique ?
>
> "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
news:
>
> > Bonsoir, Bonjour,
> >
> > Est-ce que quelqu'un saurait de quelle manière il faudrait s'y prendre
> pour
> > la gestion de plug-in(s) pour un controle personnalisé ? J'aimerais
> pouvoir
> > choisir plusieurs modes d'affichage d'un de mes controles ou donner la
> > possibilité au client (acheteur) de modifier selon son environnement
> > graphique l'apparence dudit controle.
> >
> > Merci
> >
> > Bismark
> >
> >
>
>




Avatar
Piotrek
Evidemment tu pourrais personnaliser ton controle a volonte en lui ajoutant
un maximum de proprietes, mais comme apparement le composant que tu cree
n'est pas uniquement destine a etre utilise que par toi, il faut je pense
respecter quelques principes pour rendre son utilisation aisee.

2 choses:

- Premiere chose a faire quoiqu'il arrive, ajoute toutes proprietes standard
a ton controle (BackColor, ForeColor...) et assure toi qu'elles s'adaptent a
leur conteneur. C'est le mechanisme propose par AmbientProperties
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsambientpropertiesclasstopic.asp

Quelques discussions interessantes ici aussi:
http://www.dotnet247.com/247reference/msgs/30/152251.aspx

Voila pour ce qui est de la norme.

- Seconde chose: si les possibilites minimales du skinnage de base ne te
suffisent pas, tu pourrais creer une propriete de "style" a la maniere du
TableStyle du datagrid.
Cette solution peut s'averer interessante si tu as comme objectif de creer
plusieurs controles parageant un meme style.
Avatar
Bonjour,

désolé de m'immiscer dans cette conversation mais pourquoi ne pas utiliser
un fichier de ressources ?

il faudrait pas le compiler dans l'assembly mais à part ensuite si on crée
de nouvelles skin il suffirat de remplacer le fichier de ressources ou
d'ajouter les nouvelles skin dans le fichier de ressources.

voilà comment je vois le fichier de ressources pour ma part
<!-- Racine-->
<Skins>
<Skin>
<!--Nom de la skin a afficher dans le sélecteur de skin-->

<NomSkin>MaSkin1</NomSkin>
<!--Nom de l'image ou de la dll contenant la définition de la skin-->
<RessourceSkin>Namespace.NomClasse ou Monimage.jps</RessourceSkin>
<!-- autres infos ? -->
</Skin>


<!--définitions d'autres Skins-->

<Skin></Skin>
<Skin></Skin>
<Skin></Skin>
</Skins>

et voilà facile couplage faible évolutif que demander de mieu ? ;) bien sur
je n'ai pas passé des heures à y réfléchir le squelette XML n'est pas
forcément top mais c'est l'idée qui compte

en France on a pas de pétrole mais on a des idées :)

Sebastien


"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit
dans le message de news:
Et bien j'en ai déjà fait un mais je ne m'y suis certainement pas pris de


la
bonne manière :

J'ai tout simplement déssiné mon ( mes ) contrôle (s) uniquement avec des
picturebox, que j'ai rempli d'images jpg.
Ensuite j'ai crée 2 fichiers skins pour mon récuperer les images, un
fichiers que j'avais nommé .Skn qui était en fait un fichier
XML qui disait ou était tel image et ou elle allait dans le controle; et


un
fichier .Smg dans lekel je stockais toutes les images.

Comme je l'ai dit dans un autre post, question disign je suis pas un pro
donc il doit exister une meilleur solution, pour la part j'ai utilisé des
picturebox, mais on peux très bien utiliser un object graphics pour


dessiner
ces memes images sur le controle, mais le code doit être un peu plus


lourd.


"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de


news:

> Voila ! je ne me souvenais pas du terme ! C'est bien cela ! Comment
doit-on
> s'y prendre ?
>
>
> "AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a


écrit
> dans le message de news:eWkYdF$
> > Salut,
> >
> > en gros tu veux implémenter la notion de "skins" dans ton interface
> > graphique ?
> >
> > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:
> >
> > > Bonsoir, Bonjour,
> > >
> > > Est-ce que quelqu'un saurait de quelle manière il faudrait s'y


prendre
> > pour
> > > la gestion de plug-in(s) pour un controle personnalisé ? J'aimerais
> > pouvoir
> > > choisir plusieurs modes d'affichage d'un de mes controles ou donner


la
> > > possibilité au client (acheteur) de modifier selon son environnement
> > > graphique l'apparence dudit controle.
> > >
> > > Merci
> > >
> > > Bismark
> > >
> > >
> >
> >
>
>




Avatar
Bismark Prods
Merci

"AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a écrit
dans le message de news:
Et bien j'en ai déjà fait un mais je ne m'y suis certainement pas pris de


la
bonne manière :

J'ai tout simplement déssiné mon ( mes ) contrôle (s) uniquement avec des
picturebox, que j'ai rempli d'images jpg.
Ensuite j'ai crée 2 fichiers skins pour mon récuperer les images, un
fichiers que j'avais nommé .Skn qui était en fait un fichier
XML qui disait ou était tel image et ou elle allait dans le controle; et


un
fichier .Smg dans lekel je stockais toutes les images.

Comme je l'ai dit dans un autre post, question disign je suis pas un pro
donc il doit exister une meilleur solution, pour la part j'ai utilisé des
picturebox, mais on peux très bien utiliser un object graphics pour


dessiner
ces memes images sur le controle, mais le code doit être un peu plus


lourd.


"Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de


news:

> Voila ! je ne me souvenais pas du terme ! C'est bien cela ! Comment
doit-on
> s'y prendre ?
>
>
> "AlexC" <(@Anti-Spam)#(@Anti-Spam)#> a


écrit
> dans le message de news:eWkYdF$
> > Salut,
> >
> > en gros tu veux implémenter la notion de "skins" dans ton interface
> > graphique ?
> >
> > "Bismark Prods" <xanaia#nospam#@urbanet.ch> a écrit dans le message de
> news:
> >
> > > Bonsoir, Bonjour,
> > >
> > > Est-ce que quelqu'un saurait de quelle manière il faudrait s'y


prendre
> > pour
> > > la gestion de plug-in(s) pour un controle personnalisé ? J'aimerais
> > pouvoir
> > > choisir plusieurs modes d'affichage d'un de mes controles ou donner


la
> > > possibilité au client (acheteur) de modifier selon son environnement
> > > graphique l'apparence dudit controle.
> > >
> > > Merci
> > >
> > > Bismark
> > >
> > >
> >
> >
>
>




Avatar
Bismark Prods
Merci, oui c'est une excellente réponse !

Bismark

"Piotrek" a écrit dans le message de
news:%
Evidemment tu pourrais personnaliser ton controle a volonte en lui


ajoutant
un maximum de proprietes, mais comme apparement le composant que tu cree
n'est pas uniquement destine a etre utilise que par toi, il faut je pense
respecter quelques principes pour rendre son utilisation aisee.

2 choses:

- Premiere chose a faire quoiqu'il arrive, ajoute toutes proprietes


standard
a ton controle (BackColor, ForeColor...) et assure toi qu'elles s'adaptent


a
leur conteneur. C'est le mechanisme propose par AmbientProperties



http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsambientpropertiesclasstopic.asp

Quelques discussions interessantes ici aussi:
http://www.dotnet247.com/247reference/msgs/30/152251.aspx

Voila pour ce qui est de la norme.

- Seconde chose: si les possibilites minimales du skinnage de base ne te
suffisent pas, tu pourrais creer une propriete de "style" a la maniere du
TableStyle du datagrid.
Cette solution peut s'averer interessante si tu as comme objectif de creer
plusieurs controles parageant un meme style.