CONTRÔLES STYLE XP (16 USERCONTROLS: LISTBOX, OPTION, FRAME, BAR, CHECK, BUTTONS

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 17 mai 2007 à 17:38
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 17 mai 2007 à 18:44
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/42726-controles-style-xp-16-usercontrols-listbox-option-frame-bar-check-buttons

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
17 mai 2007 à 17:38
Pfou !
Eh beh c'est joli tout ça.

Par contre faut préciser qu'il faut bien enregistrer l'ocx avant de lancer le projet (tu devrais mettre un petit installeur .bat pour simplifier la chose), et y'a un problème de compatibilité binaire avec "..\..\..\..\..\Documents and Settings\Admin\Bureau\Frame gradient ENG\OCX\vkUserControlsXP.ocx" (j'ai pas trop pigé d'ou ça vient), mais ça empeche pas d'ouvrir le projet et de le lancer.

Et une fois lancé effectivement c'est très joli.

Toutefois une remarque sur l'option et le checkbox, vu qu'ils sont "transparents", il faut cliquer pile poil "sur" le texte pour pouvoir les cocher et décocher, si on clique dans la zone du texte, mais au dessous du fond de la form, ça n'a aucun effet. Mais bon ça pour le regler c'est chaud

Bon boulot ^^
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 17:38
Je sais que tu n'as pas besoin de mon commentaire mais ton contrôle a l'air excellent ... seulement je doute que je puisse facilement la convertir avec le Wizard de Visual Basic .NET (qui m'est gratos, contrairement à la version que tu utilises).
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
17 mai 2007 à 17:40
C'est sur qu'avec l'injection ASM t'auras du mal à la convertir...
Par contre tu peux peut etre réutiliser directement l'ocx compilé non ?
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 17:42
Je veux bien éssayer :)
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 17:48
Que dois-je faire avec le fichier .ocx à partir de Visual Basic Express ?
(Vous comprenez maintenant pourquoi je ne programme que sur la version .net ?, quand je programme en vb)
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 17:51
Madm@tt ==> thx pour le commentaire ;)
1) Alors oui, il faut cliquer pile poil sur le TEXTE du caption dans le cas des options et des checks transparent (ou alors cliquer sur l'image).
C'est du au fait que je limite la zone du controle (backstyle) pour afficher la transparence. Je vais voir si je peux changer çà.
2) J'ai fait une MAJ, j'espère que c'est bon ?

Loloof64 ==> en effet, çà va être tendu de faire une conversion via un assistant (comme dit Madmatt, surtout avec l'ASM et l'histoire de l'adresse mémoire de la function)
Sinon je sais pas si tu peux utiliser le controle directement ? Aucune idée si c'est possible d'importer un controle activex vb6.

Il faudrait ajouter une référence au fichier OCX qui est fourni dans le zip à ton projet (je sais pas comment). M'enfin, je doute fort que çà marche -___-


Merci pour les commentaires, @+
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
17 mai 2007 à 17:53
Mais arrete avec ton .net !
On va pas te chercher sur tes sources pour te dire que c'est mieux le vb6 (oh désolé c'est vrai que t'as pas posté de sources ici)
Les ocx c'est un truc de base de windows, comme une DLL, c'est pas réservé à VB6, tu peux en faire dans beaucoup de langages et meme en .net si ça se trouve...
Alors ça c'était pour ton mépris envers VB6

Maintenant comment l'utiliser sous .net, il faut ajouter l'ocx à tes composants de base de ta boite à outil (labels, textbox etc...) Alors peut etre dans le menu Projet > Composants, je sais pas trop
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 17:53
Je pense que si ça ne passe pas, cela ne peut être que de ma faute ... le fichier .bat étant passé sans problème.

Il y a un menu à utiliser/configurer sous VB ?
(Du genre Menu ActiveX, selectionner ) ?
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 17:59
Le fichier bat n'a rien à voir avec VB, c'est juste une instruction pour "enregistrer" le controle OCX dans la base de registre.

"Il y a un menu à utiliser/configurer sous VB ?" ==> Aucune idée, je touche pas à .Net... En VB6 tu fais Menu Projet/Composants --> parcourir, sélection du OCX, ok et c'est bon.

@+
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 18:04
J'ai trouvé le menu sous VB.Net (Outils, Choisir un élément de la boite à outils, [onglet] com) (car il y a maintenant l'ongelt composants .NET ==> et grâce au .bat, je suppose, tes ocx sont (justes) référencés et sélectionnables.
La deuxième étape sera de trouver où les placer ... C'est où pour ta version de vb ?
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 18:06
"et grâce au .bat, je suppose, tes ocx sont (justes) référencés et sélectionnables" ==> c'est çà.


"La deuxième étape sera de trouver où les placer ... C'est où pour ta version de vb ?" ==> Comment çà "où" les placer ? Dans System32 ?

@+
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 18:08
System32 ? peut être.
Je pense que les fichiers .ctl,.dll,.ocx et le dossier ressources sont gérés de la même manière (s'ils ne sont pas bêtes à ce point pour tout changer chez Microsoft d'une version à l'autre ...) .
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
17 mai 2007 à 18:12
Bonjour,

Ca a l'air joli tout ça. Mais maintenant, XP c'est Has Been ;o). A quand les contrôles Vista :o)

Bravo !

++
Moustachu
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 18:13
Sois déjà heureux qu'il ait pensé aux contrôles XP.
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 18:14
(Apologize) je n'avais pas remarqué que tu cherchais juste à le taquiner .
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 18:17
Loloof64 ==> Ok, tu voulais savoir la location du fichier.

Le mieux est tout simplement dans le dossier du projet qui l'utilise.

Ensuite quand tu distribues ton projet, tu créé un setup qui enregistre via regsvr32 les dépendances telle que cet OCX. Et lors de la désinstallation, c'est du regsvr32 -u. Comme normalement on ne s'amuse pas à déplacer un dossier de Program Files, c'est bon ;)


Moustachu ==> Haha en effet ;) Bon déjà pour les check et les options, tu peux changer la bitmap (tu édites et tu remplaces le contenu de l'image par du 13*(6*13)) et le tour est joué ;) Ensuite pour le reste, tout est question de couleurs... En changeant certaines properties de mes controles, il y a moyen d'arriver à un résultat ;)

@+
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 18:17
Ecoutez, je laisse tomber, je ferais mieux de ne prendre que les contrôles .NET. Comme ça, ça sera réglé, ça passera à coup sûr :( :( :(
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
17 mai 2007 à 18:35
loloof64> VA voir sur vbaccelerator pour des contrôles .Net bien sympa.
violent_ken> Je taquinais effectivement. Et tu sais, on a le droit de concurrencer Renfield, même s'il est admin ^^
cs_loloof64 Messages postés 342 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 6 novembre 2012
17 mai 2007 à 18:38
merci Moustachu :)
Je vais voir ça de suite :)
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
17 mai 2007 à 18:41
Quelques remarques après un premier tests :
Il faut cliquer sur l'image (checkbox et radiobutton) ou pile sur le texte pour changer la coche.
Des radiobuttons appartenants à différents container réagissent "ensenble". Si on en coche un, on en décoche un qui n'est pas du même container.


Quand on survole un radiobutton ou un checkbox, ça ne change par l'image de la coche ou du "rond"... commme sur XP
C'est tout pour le moement.
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
17 mai 2007 à 18:44
Concurrencer un admin, pourquoi pas... mais c'est aussi un MVP !!

lol plus sérieusement, ses contrôles sont très probablement plus optimisés et plus complets (excepté la progressbar je pense) ^^



Pour les remarques :
- "Il faut cliquer sur l'image (checkbox et radiobutton) ou pile sur le texte pour changer la coche." ==> Yep, comme a dit Madm@tt. Je réfléchi à une modification.
- "Des radiobuttons appartenants à différents container réagissent "ensenble". Si on en coche un, on en décoche un qui n'est pas du même container." ==> anormal !! Je me suis bien pris la tête sur çà, çà devrait marcher...
- "Quand on survole un radiobutton ou un checkbox, ça ne change par l'image de la coche ou du "rond"... commme sur XP" ==> GNE ??


J'ai pas du mettre la bonne version du Option et du Check !!
@+
Rejoignez-nous