2009-01-04 5 views
0

Je substitue la méthode OnNcPaint() avec la méthode OnNcLButtonDown() et OnNcMouseMove() et OnNcHitTest(). Donc le menu d'origine de la fenêtre n'existe pas. Je veux ajouter un menu avec la zone de la barre de légende. Comment puis-je faire ceci?Puis-je dessiner un menu (pas un menu contextuel) dans une région rectangulaire d'une fenêtre avec MFC?

Merci beaucoup!

+0

Vous ne savez pas si vous voulez une barre de menu, un bouton de menu ou autre chose. Voir la documentation de CMFCMenuBar et CMFCMenuButton. – sergiol

Répondre

1

Le menu est peint dans le cadre de la zone non-client. Donc, si vous faites votre propre peinture non-client, vous devrez dessiner la fenêtre vous-même. Vous serez peut-être en mesure de pirater quelque chose avec TrackPopupMenu pour faire le dessin du menu réel, et vous devrez simplement gérer vous-même la barre de menu et les éléments de menu de niveau supérieur. Dessiner la zone non-client vous-même est lourde de périls. Êtes-vous sûr de ne pas vouloir utiliser un owner drawn menu?

Il peut être tentant de modifier vos boîtes de dialogue de l'interface utilisateur en fonction de vos besoins exacts, mais gardez également à l'esprit que cela perturbe les utilisateurs habitués à l'aspect et à la convivialité de Windows.

Questions connexes