CONTRÔLES STYLE XP (16 USERCONTROLS: LISTBOX, OPTION, FRAME, BAR, CHECK, BUTTONS
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
17 mai 2007 à 17:38
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 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.
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 17 mai 2007 à 17:42
Je veux bien éssayer :)
cs_loloof64
Messages postés342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDerniè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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDerniè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és1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDerniè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és342Date d'inscriptionvendredi 1 septembre 2006StatutMembreDernière intervention 6 novembre 2012 17 mai 2007 à 18:38
merci Moustachu :)
Je vais voir ça de suite :)
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDerniè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és1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 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 !!
@+
17 mai 2007 à 17:38
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 ^^
17 mai 2007 à 17:38
17 mai 2007 à 17:40
Par contre tu peux peut etre réutiliser directement l'ocx compilé non ?
17 mai 2007 à 17:42
17 mai 2007 à 17:48
(Vous comprenez maintenant pourquoi je ne programme que sur la version .net ?, quand je programme en vb)
17 mai 2007 à 17:51
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, @+
17 mai 2007 à 17:53
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
17 mai 2007 à 17:53
Il y a un menu à utiliser/configurer sous VB ?
(Du genre Menu ActiveX, selectionner ) ?
17 mai 2007 à 17:59
"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.
@+
17 mai 2007 à 18:04
La deuxième étape sera de trouver où les placer ... C'est où pour ta version de vb ?
17 mai 2007 à 18:06
"La deuxième étape sera de trouver où les placer ... C'est où pour ta version de vb ?" ==> Comment çà "où" les placer ? Dans System32 ?
@+
17 mai 2007 à 18:08
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 ...) .
17 mai 2007 à 18:12
Ca a l'air joli tout ça. Mais maintenant, XP c'est Has Been ;o). A quand les contrôles Vista :o)
Bravo !
++
Moustachu
17 mai 2007 à 18:13
17 mai 2007 à 18:14
17 mai 2007 à 18:17
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 ;)
@+
17 mai 2007 à 18:17
17 mai 2007 à 18:35
violent_ken> Je taquinais effectivement. Et tu sais, on a le droit de concurrencer Renfield, même s'il est admin ^^
17 mai 2007 à 18:38
Je vais voir ça de suite :)
17 mai 2007 à 18:41
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.
17 mai 2007 à 18:44
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 !!
@+