Style fenetre

[Résolu]
Signaler
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015
-
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015
-
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

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
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
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
Tu dois utiliser SetWindowLong/GetWindowLong avec le flag GWL_STYLE ou GWL_EXSTYLE selon le cas

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015

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
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015

c'est bon maintenant

merci
Messages postés
123
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
29 mars 2009
1
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  !!!
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
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
Messages postés
361
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
19 mars 2015

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);