J'essaie de comprendre comment dessiner un bouton personnalisé sur la barre de légende des fenêtres lors de l'utilisation du thème Aero dans Vista ou Win7. J'ai besoin d'appliquer cela à un certain nombre d'applications différentes sans changer le code d'origine, donc ce sera dans une procédure de raccordement. Comme je ne peux pas modifier le code d'origine, je ne peux pas utiliser DwmExtendFrameIntoClientArea. Je suis assez sûr que cela peut être fait, ou du moins truqué vraiment bien, parce que j'ai vu une application qui peut le faire. J'ai regardé de près différentes fenêtres pendant que cette autre application est en cours d'exécution, et je ne crois pas qu'elles modifient le style de la fenêtre ou l'étendent dans la zone client.Comment puis-je dessiner un bouton personnalisé sur une barre de légende de thème Aero sans étendre la zone non-client?
En tant que test, j'ai essayé d'utiliser le message WM_NCPAINT pour peindre quelque chose dans la barre de légende. Lorsque le thème Aero est actif, rien de ce que je peins n'apparaîtra. Si je reçois un DC pour l'ensemble de l'écran au lieu de simplement la fenêtre, alors je peux "peindre" sur la barre de légende, mais bien sûr, il est vraiment peint à l'écran. Il y a toutes sortes de problèmes avec cette approche, alors ça ne marche pas. Si quelqu'un a de bonnes idées, ou même de bons conseils, j'apprécierais vraiment l'aide!