Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 9 févr. 2011 à 07:15
Pas forcément indispensable, dépend des cas, je dirai.
cs_candyraton
Messages postés109Date d'inscriptiondimanche 27 juillet 2008StatutMembreDernière intervention 2 février 20123 9 janv. 2009 à 15:11
manquerait pas Set AfMenu = Nothing sur Frm_TitleBar.frm?
cs_Ouneufe
Messages postés60Date d'inscriptionmardi 4 septembre 2001StatutMembreDernière intervention19 janvier 2009 30 août 2007 à 17:25
Très bonne source, exactement ce que je recherchais. J'étais coincé car je ne pouvais utiliser convenablement le popupmenu classique avec feuille MDI+ feuilles filles.
odureux
Messages postés13Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention 8 mai 2009 14 août 2007 à 19:08
Je crois que si on remet le caption, alors on a à nouveau la barre de titre, donc on peut à nouveau utiliser le créateur de menu ;-p
De toutes façons, ta classe reste utile quand on ne peut pas créer le menu à la création : création dynamique au moment de l'exécution quand par exemple on ne sait pas le nom ou le nombre des items, ...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 14 août 2007 à 16:51
exact j'avais oublié mon comm ^^
cela dit on est alors obligé de supprimer le caption, or on peut en avoir besoin pour afficher la fenêtre dans la barre des tâches. bref en classe c'est toujours pratique non?
++ ;)
odureux
Messages postés13Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention 8 mai 2009 14 août 2007 à 14:38
Je ne commentais pas ton source mais sa description : "seulement si la fenêtre est skinnée (sans barre de titre), en passant par le créateur de menus de VB on se retrouve avec soit la barre de titre, soit la barre de menu au dessus de la skin. un peu très moche...
on peut toujours passer par une 2e form hidden (...)".
Et ça marche surtout pour faire un popup (à moins de vouloir faire un menu invisible ;-)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 13 août 2007 à 22:44
très utile ton commentaire... sur une source où le but est justement d'éviter de passer par le créateur de VB.
qui plus est le but ici est uniquement le popup donc pas vraiment de rapport mais l'astuce peut toujours servir, qui sait.
++
odureux
Messages postés13Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention 8 mai 2009 13 août 2007 à 10:39
Pour info, il est possible de créer un menu contextuel avec le créateur de menus de VB6 sans qu'il y ait de barre de titre et sans que le menu apparaisse :
- créer le menu comme d'habitude avec le créateur de menu
- dans le créateur de menu, mettre le premier item du menu à invisible (décocher "visible") --> empêche que le menu apparaisse
- le créateur de menu fait réapparaître la bordure et le titre : remettre borderstyle à vbBSNone et caption à ""
Et tout rentre dans l'ordre ;-)
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 16 mai 2007 à 10:43
Salut PCPT,
Que dire...Que dire...Que ta source est cool et aussi que le le composant AfBtn est sympa...
A+
Exploreur
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 16 mai 2007 à 00:38
bien vu ;)
If Not ITB.oChild Is Nothing And aMenu(i).bEnabled Then
mis à jour, merci
Egyde
Messages postés158Date d'inscriptionlundi 17 mai 2004StatutMembreDernière intervention16 juillet 2007 16 mai 2007 à 00:11
Très bien tout ça!!
J'ai qd même trouvé un petit bug : les menus avec sous-menus ne sont pas désactivés par ModifyItem. Si tu veux par exemple désactiver l'item 104 de la feuille "Composé" (frm_sample), ça marche pas :
Private Sub Command1_Click()
AfMenuMain.ModifyItem 104, , , False
'<----- item 104 toujours actif
End Sub
Le problème semble venir de la création récursive des menus, qui ne doit pas être exécutée si le menu parent est "Disable" :
Public Sub Friend_RecursiveSubMenusMaker(ByRef ParentMenu As AfCls_PopupMenu)
....
'sous-menus?
If aMenu(i).bEnabled = True Then ' <--- à rajouter
If Not (ITB.oChild Is Nothing) Then
...
End If
End If
...
End Sub
++
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 19 nov. 2006 à 00:11
une petite erreur (capture)... rien d'important, simple faute de frappe (Caption de l'Item)
j'attends vos comms ;)
++
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 19 nov. 2006 à 00:05
bon, finalement j'ai quand même retouché à cette source, j'suis pas trop déçu du résultat, voir capture ;)
drakkard -> pas mal d'options, mais pas de changement en rapport à la typo.
tu peux ajouter une image en entête de ligne par exemple
++
cs_drakkard
Messages postés99Date d'inscriptionlundi 20 juin 2005StatutMembreDernière intervention20 janvier 2009 11 oct. 2006 à 10:40
Bonne source, très claire,
rien à dire...
Dommage que l'on ne puisse pas avec cette méthode mettre les items en gras...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 28 juil. 2006 à 09:32
voilà chose faite ;)
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 juil. 2006 à 09:21
nop, rien de grave, pas d'inquiétude ^^
With pour trois...
dans l'absolu oui, ca rajoute des lignes, mais ca évite de trop manipuler les tableaux... VB n'a a trouver l'item (et verifier que l'index ne depasse pas, etc) qu'une fois.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 28 juil. 2006 à 09:17
salut Rey,
l'item vide est voulu pour ne pas avoir à tester l'existance de l'item 0. il en gène en rien puisqu'on teste bien que la valeur saisie soit entre 1 et ubound.
et comme on ne renvoi jamais 0, l'item 1 à donc l'indice 1.
(sauf pour) ModifyItem, petit oubli...
AddSepar, en effet ^^ (pas d'erreur pour autant)
with pour 3, çà rajoute 2 lignes pour rien tu crois pas...
je mets à jour de suite
ps : c'est souriant tes messages commençant par "Attention", on croierait presque qu'il y a vraiment quelquechose de grave :D
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 28 juil. 2006 à 08:20
Attention, PCPT, tu traine toujours un Item vide dans ton tableau
(tu pourrais par exemple, plutot maintenir un compteur du nombre d'items)
une petite utilisation de 'With' serait pas mal :
# aMenu(Index).sCaption = Caption
# aMenu(Index).bChecked = Checked
# aMenu(Index).bEnabled = Enabled
dans ModifyItem, rien ne m'empeche de spécifier un index bidon
tu pourrais faire :
Public Sub AddSeparator()
AddItem STR_SEPARATOR, False, True
End Sub
diablamanshadow
Messages postés419Date d'inscriptionlundi 30 août 2004StatutMembreDernière intervention28 janvier 2008 27 juil. 2006 à 23:51
desoler je n'avais pas vu ^^
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 27 juil. 2006 à 08:43
pas besoin de ce PS, DiablamanShadow :
PCPT a bien précisé qu'il s'agit de MDKK...
diablamanshadow
Messages postés419Date d'inscriptionlundi 30 août 2004StatutMembreDernière intervention28 janvier 2008 24 juil. 2006 à 20:58
ses pas mal comme source cependant perso quand je skin vu que ici tu en parle je skin de a à z je cree mes propres bouton , je code tt mon popupmenu mes propre menu etc etc etc donc ta source me sert pas trop mais je trouve sa pas mal du tout meme , meme si je n'utilise pas le meme system ^^
quelques roll over , des variable de stock de menu evidement je ne peux pas ajouter etc des menu "dynamiquement" comme toi mais bon je fais tt mon skin (je dit plutot design) sur mesure et en fonction de mon logiciel ^^
bon bah ta source est chouette je met un bon 8 car je trouve que celui qui utilise pas de border ses a la limite plus simple contrairement a ce que tu dit d'utiliser une autre form en hidden enfin chacun son opinion moi je trouve sa plus simple du moins si c'est pour garder le skin par defaut du menu "normale" ^^
ps: ses pas moi qui avais mis la note anonymement :p
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 juil. 2006 à 19:54
MDKK merci pour cette note "anonyme"...
c'est plus cher avec un commentaire?
9 févr. 2011 à 07:15
9 janv. 2009 à 15:11
30 août 2007 à 17:25
14 août 2007 à 19:08
De toutes façons, ta classe reste utile quand on ne peut pas créer le menu à la création : création dynamique au moment de l'exécution quand par exemple on ne sait pas le nom ou le nombre des items, ...
14 août 2007 à 16:51
cela dit on est alors obligé de supprimer le caption, or on peut en avoir besoin pour afficher la fenêtre dans la barre des tâches. bref en classe c'est toujours pratique non?
++ ;)
14 août 2007 à 14:38
on peut toujours passer par une 2e form hidden (...)".
Et ça marche surtout pour faire un popup (à moins de vouloir faire un menu invisible ;-)
13 août 2007 à 22:44
qui plus est le but ici est uniquement le popup donc pas vraiment de rapport mais l'astuce peut toujours servir, qui sait.
++
13 août 2007 à 10:39
- créer le menu comme d'habitude avec le créateur de menu
- dans le créateur de menu, mettre le premier item du menu à invisible (décocher "visible") --> empêche que le menu apparaisse
- le créateur de menu fait réapparaître la bordure et le titre : remettre borderstyle à vbBSNone et caption à ""
Et tout rentre dans l'ordre ;-)
16 mai 2007 à 10:43
Que dire...Que dire...Que ta source est cool et aussi que le le composant AfBtn est sympa...
A+
Exploreur
16 mai 2007 à 00:38
If Not ITB.oChild Is Nothing And aMenu(i).bEnabled Then
mis à jour, merci
16 mai 2007 à 00:11
J'ai qd même trouvé un petit bug : les menus avec sous-menus ne sont pas désactivés par ModifyItem. Si tu veux par exemple désactiver l'item 104 de la feuille "Composé" (frm_sample), ça marche pas :
Private Sub Command1_Click()
AfMenuMain.ModifyItem 104, , , False
'<----- item 104 toujours actif
End Sub
Le problème semble venir de la création récursive des menus, qui ne doit pas être exécutée si le menu parent est "Disable" :
Public Sub Friend_RecursiveSubMenusMaker(ByRef ParentMenu As AfCls_PopupMenu)
....
'sous-menus?
If aMenu(i).bEnabled = True Then ' <--- à rajouter
If Not (ITB.oChild Is Nothing) Then
...
End If
End If
...
End Sub
++
19 nov. 2006 à 00:11
j'attends vos comms ;)
++
19 nov. 2006 à 00:05
drakkard -> pas mal d'options, mais pas de changement en rapport à la typo.
tu peux ajouter une image en entête de ligne par exemple
++
11 oct. 2006 à 10:40
rien à dire...
Dommage que l'on ne puisse pas avec cette méthode mettre les items en gras...
28 juil. 2006 à 09:32
28 juil. 2006 à 09:21
With pour trois...
dans l'absolu oui, ca rajoute des lignes, mais ca évite de trop manipuler les tableaux... VB n'a a trouver l'item (et verifier que l'index ne depasse pas, etc) qu'une fois.
28 juil. 2006 à 09:17
l'item vide est voulu pour ne pas avoir à tester l'existance de l'item 0. il en gène en rien puisqu'on teste bien que la valeur saisie soit entre 1 et ubound.
et comme on ne renvoi jamais 0, l'item 1 à donc l'indice 1.
(sauf pour) ModifyItem, petit oubli...
AddSepar, en effet ^^ (pas d'erreur pour autant)
with pour 3, çà rajoute 2 lignes pour rien tu crois pas...
je mets à jour de suite
ps : c'est souriant tes messages commençant par "Attention", on croierait presque qu'il y a vraiment quelquechose de grave :D
28 juil. 2006 à 08:20
(tu pourrais par exemple, plutot maintenir un compteur du nombre d'items)
une petite utilisation de 'With' serait pas mal :
# aMenu(Index).sCaption = Caption
# aMenu(Index).bChecked = Checked
# aMenu(Index).bEnabled = Enabled
dans ModifyItem, rien ne m'empeche de spécifier un index bidon
tu pourrais faire :
Public Sub AddSeparator()
AddItem STR_SEPARATOR, False, True
End Sub
27 juil. 2006 à 23:51
27 juil. 2006 à 08:43
PCPT a bien précisé qu'il s'agit de MDKK...
24 juil. 2006 à 20:58
quelques roll over , des variable de stock de menu evidement je ne peux pas ajouter etc des menu "dynamiquement" comme toi mais bon je fais tt mon skin (je dit plutot design) sur mesure et en fonction de mon logiciel ^^
bon bah ta source est chouette je met un bon 8 car je trouve que celui qui utilise pas de border ses a la limite plus simple contrairement a ce que tu dit d'utiliser une autre form en hidden enfin chacun son opinion moi je trouve sa plus simple du moins si c'est pour garder le skin par defaut du menu "normale" ^^
ps: ses pas moi qui avais mis la note anonymement :p
24 juil. 2006 à 19:54
c'est plus cher avec un commentaire?