Style fenetre

Résolu
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023 - 6 mars 2009 à 21:39
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023 - 9 mars 2009 à 19:40
Bonjour

J'aimerais pouvoir changer le style de la fenêtre :
--> Avoir un bouton qui affiche ou non les 2 boutons de redimensionnement

donc avoir dans un cas, la fenetre redimensionnable
et dans l'autre cas, la fenetre non redimensionnable

merci

7 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
7 mars 2009 à 14:32
Je pensais que la fenetre se refraichissait automatiquement...
Tu essayer d'envoyer WM_NCPAINT à ta fenetre pour forcer l'actualisation (avec wParam=1 et lParam=0)

_____________________________________
Un éditeur de ressources gratuit pour Windows
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
6 mars 2009 à 21:53
Tu dois utiliser SetWindowLong/GetWindowLong avec le flag GWL_STYLE ou GWL_EXSTYLE selon le cas

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023
7 mars 2009 à 14:27
merci
ça fonctionne !

mais j'ai encore un petit souci :
quand je suis sur la fenetre non redimensionnable et que j'ajoute le style WS_MINIMIZEBOX
le bouton est présent, mais ne s'affiche pas, il faut que je passe la souris dessus pour qu'il s'affiche

et le même problème dans l'autre sens : les boutons sont visibles jusqu'à ce que je déplace la fenêtre

il y a une commande de plus à exécuter que setwindowlong pour gerer cet affichage ?

merci
0
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023
7 mars 2009 à 15:05
c'est bon maintenant

merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jeffy131 Messages postés 123 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 29 mars 2009 1
8 mars 2009 à 22:54
Il faudrait un peu lire la doc MSDN pour ce genre de question de débutant, répondues 150 000 fois sur Google Groups depuis plus de 18 ans.

Et ne jamais envoyer WM_NCPAINT  !!!
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
9 mars 2009 à 13:00
Jeffy, peux-tu te rendre un peu plus utile au lieu de répondre toujours la même chose?
Par exemple pourquoi ne doit-on pas envoyer WM_NCPAINT?

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
mogwai93 Messages postés 362 Date d'inscription mardi 31 décembre 2002 Statut Membre Dernière intervention 4 novembre 2023
9 mars 2009 à 19:40
Comme ce monsieur ne daigne pas donner la réponse  (il doit être en train de chiffrer son intervention....)
ou alors il ne sait pas  (jusqu'à preuve du contraire..., mais comme depuis plus d'1 an, on attend toujours, je pense que tout le monde aura compris)

en cherchant un peu (puisque c'est un forum d'entraide et non de gonflage d'ego) :
http://support.microsoft.com/kb/457722/fr

pour redessiner la fenêtre :

SetWindowPos(hWnd, NULL, NULL, NULL, NULL, NULL,

SWP_NOZORDER|SWP_NOSIZE|SWP_NOMOVE|SWP_DRAWFRAME);
0
Rejoignez-nous