2009-01-20 7 views

Répondre

1

La seule façon de le faire efficacement consiste à gérer le message WM_NCPAINT lorsque vous remplacez la méthode WndProc pour le formulaire. Si vous passez à l'implémentation de base de WndProc, le cadre des fenêtres sera peint, mais à ce stade, vous serez responsable de peindre les éléments de votre barre d'outils dans la barre de titre.

Vous devrez également gérer tous les autres messages WM_NC *, ce qui vous permettra de traiter les clics de bouton et autres (dont vous aurez besoin pour gérer les événements de vos contrôles peints).

+0

Pouvez-vous fournir un exemple de code étant donné que je suis nouveau sur C#. – duckblaster

0

J'ai regardé autour pour le même problème, parce que je voulais coder une barre de ruban avec ce grand bouton dans le coin en haut à gauche ... La seule bonne source que j'ai trouvé à CodeProject sur this blog et this one et another one.

+0

Je les avais regardés, et j'utilise celui de http://www.codeproject.com/KB/dialog/AeroNonClientAreaButtons.aspx, mais j'ai des problèmes avec la taille de la fenêtre qui augmente à chaque fois qu'elle est non minimisée/non maximisée. – duckblaster

+0

Vous devrez peut-être manuellement réinitialiser la taille du formulaire pour surmonter cela. –