HOOK MENU 2003

cs_starfighter Messages postés 90 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 28 février 2005 - 28 févr. 2005 à 17:14
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012 - 22 févr. 2008 à 06:47
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/29841-hook-menu-2003

cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
22 févr. 2008 à 06:47
Bonjour,

Tu peux trouver une autre version ici :
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=49985&lngWId=1

Sur VBfrance, le code d'origine avait été posté ici :
http://www.vbfrance.com/codes/SOURCE-HOOKMENU-CONVERTIT-MENU-MENU-XP_5513.aspx

Je ne connaissais pas le code de PlanetCodeSource mais il semble être plus complet que le mien.

En espérant qe ça t'aidera.

++
Moustachu
jbarras Messages postés 2 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 21 février 2008
21 févr. 2008 à 14:43
Bonjour,

Sur certains serveurs Windows 2003, impossible de le faire fonctionner. Alors que sur d'autres cela fonctionne à merveille. Par contre, aucun soucis sous XP ;-)

Je pense que le problème rencontré sur ces serveurs, est qu'il me manque un/plusieurs fichiers nécessaires au bon fonctionnement de HookMenu.

Quels fichiers doivent être inclus dans le programme d'installation en plus de l'OCX de HookMenu pour qu'il puisse fonctionner ?

Merci !
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
14 mai 2007 à 12:21
Désolé pour la réponse tardive. Je n'avais pas vu passer vos messages.

jbarras>J'ai Server 2003, je ne peux pas te dire.
eliache>Pour le problème du menu provenant d'une icone (mdichild ou mdi) j'ai remarqué aussi, mais je ne sais pas encore le corriger. Pour HookMenu sur un menu créé par code, j'ai peur que ça ne marche pas

++
Moustachu
eliache Messages postés 3 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 25 avril 2007
25 avril 2007 à 17:08
si quelqu'un peut m'aider ?
est ce qu'on peut utiliser HookMenu sur un menu créer par code?
eliache Messages postés 3 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 25 avril 2007
25 avril 2007 à 17:01
il y a toujour un problème au niveau du menu afficher lors du click sur l'icône d'une feuille mdichild
jbarras Messages postés 2 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 21 février 2008
24 avril 2007 à 10:41
Bonjour,

Ce contrôle est absolument génial.

Malheureusement si je l'exécute sur un serveur Windows Server 2003, il plante.

Quelqu'un a déjà eu ce problème ?

Merci !
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
10 mai 2006 à 08:27
Bonjour Globule,

Sur NT4 ou 95, effectivement cela plantera pour le look 2003 mais pas le look office XP. Je viens de vérifier, l'auteur initial de la source utilise des API absentes de NT4 et W95 (dégradé). Je n'ai fait qu'utiliser les fonctions existantes. Je ne crois pas qu'avec la SP6 cela règle le problème

Pour ces OS, je pense qu'il faudrait remplacer l'appel de l'API FillGradient par une procédure perso de dégradé. Il y en a à la pelle sur le site.


95, je ne sais pas s'il reste grand monde. NT4, c'est clair, y'en a un paquet : je travaille dessus.

++
Moustachu
cs_globule Messages postés 327 Date d'inscription mardi 8 octobre 2002 Statut Membre Dernière intervention 6 octobre 2010
9 mai 2006 à 12:17
Que se passe t'il si j'utilise se composant sur un poste en 95 ou sur un NT 4 qui n'à pas de SP6 ? Ca plante ou ca affiche les menus sans le look office ? Cette source me tente, mais je ne veux pas risquer de planter tous mes utilisateurs en NT ou 95 (et oui, il y en a encore beaucoup !)
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
24 sept. 2005 à 18:02
C'est certains que je ne suis pas le seul à y avoir pensé. Sur NT4, ça doit fonctionner normalement.

A+

Moutachu
cs_sadate Messages postés 30 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 11 décembre 2009
16 sept. 2005 à 18:39
Je viens de trouver une version 1.5
je vais essayer ça.

http://pscode.com/vb/scripts/ShowCode.asp?txtCodeId=49985&lngWId=1
cs_sadate Messages postés 30 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 11 décembre 2009
16 sept. 2005 à 17:13
Les menus ne fonctionne pas sur NT4 pourquoi???
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
28 févr. 2005 à 17:37
Super sympa !!!

2 suggestions :
- Pourrai tu fournir le reste de la source originale (neccessaire) pour ceux qui ne l'ont pas
- Tu devrai peux etre renommer le nom de l'ocx (ex : HookMenu2003.ocx) pour ne pas ecraser l'originale ainsi que le titre de l'application dans les propriétés du projet pour éviter toute confusion.

Bonne prog
++
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
28 févr. 2005 à 17:18
Merci beaucoup,
Je regarde brièvement mais d'après les commentaires de ton code, cela va également modifier les sous-menu ce que je ne souhaite pas.

Je garde ça sous le coude.

++
Moustachu
cs_starfighter Messages postés 90 Date d'inscription mardi 18 mars 2003 Statut Membre Dernière intervention 28 février 2005
28 févr. 2005 à 17:14
Salut,
Pour le reste du menu essaye cela:
Private Sub SetMenuBackgroundColor(ByVal hMenu As Long)
Dim ret As Long                 'Variable to hold return values from GetMenuInfo and SetMenuInfo
Dim hBrush As Long              'Variable to hold the handle to the background brush we are going to create
Dim lbBrushInfo As LOGBRUSH     'Variable to hold the information to pass to the CreateBrushIndirect API
Dim miMenuInfo As tagMENUINFO   'Variable to hold the menu info
    
    lbBrushInfo.lbStyle = BS_SOLID  'Set our brush type to solid
    lbBrushInfo.lbColor = mBackgroundColor 'Couleur du Fond du reste du menu
    lbBrushInfo.lbHatch = 0         'This value is ignored I set it to 0 to make sure nothing weird will happen
    hBrush = CreateBrushIndirect(lbBrushInfo)   'We create our brush
    miMenuInfo.cbSize = Len(miMenuInfo)         'Set the MenuInfo structure size so that we don't get errors
    ret = GetMenuInfo(hMenu, miMenuInfo)        'Go and get the actual menu info should return non-zero if successful
    miMenuInfo.fMask = MIM_APPLYTOSUBMENUS Or MIM_BACKGROUND    'Set the mask for the changes (changing the background for menu and all sub-menus)
    miMenuInfo.hbrBack = hBrush                 'Assign our brush to the menu info
    ret = SetMenuInfo(hMenu, miMenuInfo)        'Write our info back to the menu and we're done. (should return non-zero if successful)
End Sub
Rejoignez-nous