Peindre un style de fenêtre

Résolu
lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 - 21 juil. 2008 à 08:44
lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 - 21 juil. 2008 à 09:07
Bonjour,

J'ai dans l'idée de redessiner le style d'un Form.
J'ai trouver ici même et en cherchant sur Google beaucoup d'exemple qui definissent le FormBorderStyle à None, et qui dessine ensuite avec le Graphics du PaintEventArgs de l'évenement Paint.

Problème avec cette technique: move, resize et surtout contextMenu système disparaisse pour l'application.
J'ai réussi à réimplémenter le move et le resize grâce à la méthode WndProc.

Je me suis penché vers le dessin sur le Form avec le Graphics:
Graphics

.FromHdc(GetWindowDC(
base.Handle));
qui me permet de dessiner sur toute la fenêtre (Barre de titre compris). Mais là, problème de performance, et surtout de résultat(les controlBox sont redessinés lorsque le curseur passe dessus. J'ai la possibilité de désactiver le controlBox, mais à nouveau, problème de contextMenu.

Ma question est la suivante:
Cette méthode du FormBorderStyle None est-elle la meilleur?
Si oui, comment puije faire pour réassigner le contextMenu de l'application?

J'utilise Office 2007, pour ceux qui l'ont déja vu tourner sous Windows XP, le style de la fenêtre est différent du style utilisé par l'OS. On apercoit parfoit, lorsque Outlook traine un peu, que le style disparait de la barre de titre, pour laisser place au style utilisé par l'OS.

Je pense donc que la méthode avec
Graphics

.FromHdc(GetWindowDC(
base.Handle));
est la plus approprié.

Voilà, si quelqu'un a une idée, je l'étudierai volontier (l'idée)

Bonne journée

2 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
21 juil. 2008 à 09:01
Salut,
Une solution qui réglera problablement tous tes problèmes: WPF.
Maintenant, savoir si tu peux l'utiliser dans ton projet, c'est une autre histoire... ?

<hr />
-My Blog-
3
lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 6
21 juil. 2008 à 09:07
Merci Bidou pour ta réponse rapide.
J'en ai entendu parler, ai graillé avec, et suis allé prendre une Aspirine.

Je rigole. Je vais aller voir ce que je peux faire là-dedans.
J'ai été très déboussolé parce que pas mal de chose sont différentes.
Si j'arrive à quelques choses qui marche, je vous redonne des nouvelles.

En tout cas, merci encore pour ta suggestion!
0
Rejoignez-nous