AJOUTER DES ICONES DANS LES MENUS + COMMENT SUBCLASSER LES MENUS D'UNE FORM (OU
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 2009
-
22 févr. 2007 à 00:32
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 2010
-
12 mai 2007 à 16:56
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 12 mai 2007 à 16:56
Salut, oui c'est sans doutes le cas (notemment ton thème de XP).
Sur certaines autres configs, les couleurs sont bonnes mais les icones sont coupées -___-
Faut que je planche sur ces bug...
@+
vicosta
Messages postés178Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention30 novembre 2011 12 mai 2007 à 16:50
très bon code mais... bizarre: sous xp je n'arrive pas en avoir une interface comme celle de la capture postée, les icônes des menus sont fades. Peut être que ce problème est du à ma config xp
Salut Violent_Ken
J'ai déjà vu un aperçu de l'éditeur héxa et on attend sa finalisation avec impatience peut-on dire !
Très beau boulot : tu fais partie des grands de VBfrance
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 févr. 2007 à 13:04
si on ajoute des raccourcis (&) dans le caption des menus, ceux-ci sont affichés dans la barre d'etat.
plutot que de renvoyer le Caption du menu dans l'event, il vaudrait mieux renvoyer son "chemin". Ex:
Fichier\Nouveau\Fichier Bitmap
ca permettrait a l'utilisateur de tes classes de pouvoir traiter derrière l'info comme il le souhaites : Afficher un texte explicatif, par exemple, plutot que de dupliquer le texte du menu. En effet, RIEN ne m'empeche d'avoir trois sous menu avec le même Caption, imagine :
&Effacer
...Les ressources selectionnées
...Le projet
&Archiver
...Les ressources selectionnées
...Le projet
il sera plus adapté de placer comme texte d'aide,
"Permet d'effacer les ressources sélectionnées" plutot que de reprendre uniquement l'intitulé du menu...
pour l'interface, files moi ton adressse mail par MP, je t'envoies un exemple
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 22 févr. 2007 à 11:48
"Rien à voir avec ta source mais VB6 sous Vista ça commence à faire bizarre :P" ==> lol oui ;) Mais bon, y tourne encore bien ^^
Renfield : pour toutes les suggestions, je prend note et je mettrais à jour, mais j'avoue que
"clsFrmSubClassEvent pourrait être remplacé par une Interface, qui ne contiendrais que :
Public Sub OnMenuOver(ByRef strCaption As String)
ainsi tu ferais en haut de ta Form :
Implement clsFrmSubClassEvent"
me semble obscur... je vais me renseigner dessus ^^
Merci, @+
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 févr. 2007 à 10:51
sympa...
pourquoi faire AddIconsToMenus et AddIconsToMenusMDI ?? elles sont identiques...
(mettre Frm en As Object), et tester le TypeOf (ou TypeName) et faire un Err.Raise si souci...
tes APIs sont déclarées en doublons, dans différents modules
(GetMenu & co)
"Public Property Get GetOverCaption() As String"
renommes la en OverCaption... GetXxxxxxx ca va pour des function, mais pour des properties....
Pourquoi IsAMenuSelected renvoie un Long (1 ou 0) au lieu de :
Un boolean... ou de l'indice de l'element séléctionné...(-1 si rien)
Appelle UnHookFormMenu dans le clsFrmSubClass.Terminate
+ test pour savoir si le subclassing est encore en route
clsFrmSubClassEvent pourrait être remplacé par une Interface, qui ne contiendrais que :
Public Sub OnMenuOver(ByRef strCaption As String)
ainsi tu ferais en haut de ta Form :
Implement clsFrmSubClassEvent
et our lancer le hook :
Call cSub.HookFormMenu(Me.hWnd, Me, CBool(Check1.Value))
(voire même Call cSub.HookFormMenu(Me, CBool(Check1.Value), en extrayant le hWnd dans HookFormMenu)
enlèves le
Debug.Print uMsg & " " & wParam & " " & lParam
dans MaWndProc, le Select case peut laisser sa place a un If Then Else, je pense ^^
Pym Corp
Messages postés166Date d'inscriptionjeudi 9 décembre 2004StatutMembreDernière intervention18 novembre 2007 22 févr. 2007 à 10:28
Rien à voir avec ta source mais VB6 sous Vista ça commence à faire bizarre :P
(Et oui ça a déjà 9 ans tout ça)
violent_ken
Messages postés1812Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention26 octobre 20102 22 févr. 2007 à 10:22
Héhé ;) Effectivement c'est toujours l'éditeur hexa, en cours de construction ^^
Renfield m'avait conseillé de faire apparaitre les captions des menus dans la statusbar car mes menus n'étaient pas tous très clairs, donc j'ai fait un peu de subclassing...
Et comme rajouter des icones était simple, j'ai ajouté çà aussi ^^
Merci, @+
MadM@tt
Messages postés2167Date d'inscriptionmardi 11 novembre 2003StatutMembreDernière intervention16 juillet 20091 22 févr. 2007 à 00:32
Sortir du subclassing pour des icones dans un menu, on peut dire que tu hésite pas à faire complet !
J'imagine que c'est toujours l'éditeur héxa, j'attends vraiment de voir ton ptit chef d'oeuvre ça risque d'etre vraiment bien.
12 mai 2007 à 16:56
Sur certaines autres configs, les couleurs sont bonnes mais les icones sont coupées -___-
Faut que je planche sur ces bug...
@+
12 mai 2007 à 16:50
24 févr. 2007 à 09:55
J'ai déjà vu un aperçu de l'éditeur héxa et on attend sa finalisation avec impatience peut-on dire !
Très beau boulot : tu fais partie des grands de VBfrance
22 févr. 2007 à 13:04
plutot que de renvoyer le Caption du menu dans l'event, il vaudrait mieux renvoyer son "chemin". Ex:
Fichier\Nouveau\Fichier Bitmap
ca permettrait a l'utilisateur de tes classes de pouvoir traiter derrière l'info comme il le souhaites : Afficher un texte explicatif, par exemple, plutot que de dupliquer le texte du menu. En effet, RIEN ne m'empeche d'avoir trois sous menu avec le même Caption, imagine :
&Effacer
...Les ressources selectionnées
...Le projet
&Archiver
...Les ressources selectionnées
...Le projet
il sera plus adapté de placer comme texte d'aide,
"Permet d'effacer les ressources sélectionnées" plutot que de reprendre uniquement l'intitulé du menu...
pour l'interface, files moi ton adressse mail par MP, je t'envoies un exemple
22 févr. 2007 à 11:48
Renfield : pour toutes les suggestions, je prend note et je mettrais à jour, mais j'avoue que
"clsFrmSubClassEvent pourrait être remplacé par une Interface, qui ne contiendrais que :
Public Sub OnMenuOver(ByRef strCaption As String)
ainsi tu ferais en haut de ta Form :
Implement clsFrmSubClassEvent"
me semble obscur... je vais me renseigner dessus ^^
Merci, @+
22 févr. 2007 à 10:51
pourquoi faire AddIconsToMenus et AddIconsToMenusMDI ?? elles sont identiques...
(mettre Frm en As Object), et tester le TypeOf (ou TypeName) et faire un Err.Raise si souci...
tes APIs sont déclarées en doublons, dans différents modules
(GetMenu & co)
"Public Property Get GetOverCaption() As String"
renommes la en OverCaption... GetXxxxxxx ca va pour des function, mais pour des properties....
Pourquoi IsAMenuSelected renvoie un Long (1 ou 0) au lieu de :
Un boolean... ou de l'indice de l'element séléctionné...(-1 si rien)
Appelle UnHookFormMenu dans le clsFrmSubClass.Terminate
+ test pour savoir si le subclassing est encore en route
clsFrmSubClassEvent pourrait être remplacé par une Interface, qui ne contiendrais que :
Public Sub OnMenuOver(ByRef strCaption As String)
ainsi tu ferais en haut de ta Form :
Implement clsFrmSubClassEvent
et our lancer le hook :
Call cSub.HookFormMenu(Me.hWnd, Me, CBool(Check1.Value))
(voire même Call cSub.HookFormMenu(Me, CBool(Check1.Value), en extrayant le hWnd dans HookFormMenu)
enlèves le
Debug.Print uMsg & " " & wParam & " " & lParam
dans MaWndProc, le Select case peut laisser sa place a un If Then Else, je pense ^^
22 févr. 2007 à 10:28
(Et oui ça a déjà 9 ans tout ça)
22 févr. 2007 à 10:22
Renfield m'avait conseillé de faire apparaitre les captions des menus dans la statusbar car mes menus n'étaient pas tous très clairs, donc j'ai fait un peu de subclassing...
Et comme rajouter des icones était simple, j'ai ajouté çà aussi ^^
Merci, @+
22 févr. 2007 à 00:32
J'imagine que c'est toujours l'éditeur héxa, j'attends vraiment de voir ton ptit chef d'oeuvre ça risque d'etre vraiment bien.