38 votes

Non client peignant sur une vitre aero


Maintenant Im personnalisation de la barre de titre de ma demande. Mon but est d'ajouter un bouton supplémentaire sur la barre de titre. Im ma question précédente gens ont conseillé moi, la façon que je peux personnaliser non de la zone client. C'est fonctionne parfaitement sauf une petite chose - lumineux! Je peux dessiner lumineux dans la zone non cliente mais je ne peut pas le faire s'étend de la fenêtre. J'ai aussi ne peux pas le trouver n'importe quelle ressource à propos de cet objet.

J'ai regardé dans cet échantillon et fait ma propre appli de test pour enquêter sur le non-client de dessin installations. Capture d'écran de mon application fenêtre:

my app's window

Donc vous pouvez voir que le système de bouton brille par la fenêtre quand mon est coupé par borderframe.

Par exemple, Skype fenêtre de quatre boutons personnalisés dans la barre de titre et ils peuvent "lueur" hors du cadre de la fenêtre:

Skype's window

Quelqu'un peut-il me conseiller pour trouver le moyen d'attirer du bouton lumineux de la fenêtre?
Merci à l'avance!

[MODIFIER]
Merci tout le monde pour les réponses!

11voto

Ian Boyd Points 50743

Skype le trompe et a un petit éclat au haut de la fenêtre. où ils peuvent le dessiner.

Vous pouvez le voir avec Process Explorer vers SpyXX:

entrez la description de l'image ici

Voir également

MSDN: cadre de fenêtre personnalisé à l'aide de DWM

5voto

holtavolt Points 2798

Je ne pense pas qu'il est possible de tirer au-delà de votre caroline du nord, et j'ai un peu de doute, ils sont le dessin de l'ensemble de l'INTERFACE utilisateur pour correspondre exactement à DWM effets Aero.

Donné à quoi cela ressemble, je me demande si ils ont fait quelques tours avec l'aide ou du bouton de restauration d'un CustomBorderForm, qui serait alors obtenir le DWM flou de mettre en évidence l'effet "gratuitement".

Voici les plus pertinents de l'article que j'ai pu trouver ceci: http://geekswithblogs.net/kobush/articles/CustomBorderForms3.aspx

Followup - je pense que cette coutume chrome thread a plus de pointeurs vers les mêmes techniques (bien que différent de l'objectif): Personnalisé titlebars/chrome dans une application WinForms

3voto

Mehrdad Points 70493

Autant que je sache, cela n’est pas possible , car la zone située en dehors du cadre de votre fenêtre ne vous appartient tout simplement pas .

La capture d'écran de Skype provient d'un cadre personnalisé qui s'étend probablement un peu au-delà des limites visibles, et non d'un cadre Aero Glass . Vous pouvez faire la différence si vous regardez attentivement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X