begin process at 2008 09 05 20:47:13
1 237 505 membres
445 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

HOOK MENU 2003


Information sur la source

Catégorie :Control Classé sous : menu, apparence, office Niveau : Débutant Date de création : 28/02/2005 Date de mise à jour : 01/03/2005 13:42:34 Vu / téléchargé: 9 733 / 2 081

Note :
5 / 10 - par 2 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note


Description

Bonjour,

Certainement beaucoup d'entre vous connaisse le controle HookMenu qui permet d'obtenir facilement des menu au "look" Office XP. Je vous propose une petite évolution de code qui permet de l'avoir également au "look" Office 2003.

Il reste cependant à changer l'apparence entière de la barre de menu, si quelqu'un connait une solution, merci de la partager.

Conclusion

Je n'ai pas réellement compter mais 95% du code est de son auteur original Vlad Vissoultchev.

Je suis en train de mettre en propriété du controle la plupart des couleurs afin quelles soient plus facilement modifiables.

N'hésitez pas à laisser un commentaire

++
Moustachu
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

28 février 2005 17:53:14 :
Pb Zip
01 mars 2005 13:42:34 :
Correction "look"
  • signaler à un administrateur
    Commentaire de starfighter le 28/02/2005 17:14:56

    Salut,
    Pour le reste du menu essaye cela:
    [code]
    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
    [/code]

  • signaler à un administrateur
    Commentaire de moustachu le 28/02/2005 17:18:49

    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

  • signaler à un administrateur
    Commentaire de bouv le 28/02/2005 17:37:41

    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
    ++

  • signaler à un administrateur
    Commentaire de sadate le 16/09/2005 17:13:32

    Les menus ne fonctionne pas sur NT4 pourquoi???

  • signaler à un administrateur
    Commentaire de sadate le 16/09/2005 18:39:04

    Je viens de trouver une version 1.5
    je vais essayer ça.

    http://pscode.com/vb/scripts/ShowCode.asp?txtCodeId=49985&lngWId=1

  • signaler à un administrateur
    Commentaire de moustachu le 24/09/2005 18:02:35

    C'est certains que je ne suis pas le seul à y avoir pensé. Sur NT4, ça doit fonctionner normalement.

    A+

    Moutachu

  • signaler à un administrateur
    Commentaire de globule le 09/05/2006 12:17:07

    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 !)

  • signaler à un administrateur
    Commentaire de moustachu le 10/05/2006 08:27:28

    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

  • signaler à un administrateur
    Commentaire de jbarras le 24/04/2007 10:41:42

    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 !

  • signaler à un administrateur
    Commentaire de eliache le 25/04/2007 17:01:42

    il y a toujour un problème au niveau du menu afficher lors du click sur l'icône d'une feuille mdichild

  • signaler à un administrateur
    Commentaire de eliache le 25/04/2007 17:08:18

    si quelqu'un peut m'aider ?
    est ce qu'on peut utiliser HookMenu sur un menu créer par code?

  • signaler à un administrateur
    Commentaire de moustachu le 14/05/2007 12:21:29

    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

  • signaler à un administrateur
    Commentaire de jbarras le 21/02/2008 14:43:11

    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 !

  • signaler à un administrateur
    Commentaire de moustachu le 22/02/2008 06:47:33

    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

Ajouter un commentaire

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Boutique

Boutique de goodies CodeS-SourceS