Desactiver ou controler les boutons systemes d une fenetre [Visual C++] - C++ - Programmation
Marsh Posté le 02-10-2002 à 14:48:10
Pour les boutons "agrandir" et "réduire", c'est assez simple, il suffit de changer le style de la fenêtre :
Code :
|
Par contre, dans le cas d'une boîte de dialogue (pas pour une fenêtre standard), les commandes "Agrandir" et "Réduire" existent toujours dans le menu système (accessible en cliquant sur l'icône à gauche de la barre de titre). La solution consiste à éditer le menu système :
Code :
|
On remarque que les boutons "agrandir" et "réduire" disparaissent si ils sont tous les deux désactivés. C'est le comportement normal de Windows. La seule solution que je vois est de traîter soit même le message WM_NCPAINT (et d'autres messages du même genre), ce qui fait beaucoup de travail pour pas grand chose.
Pour le bouton "Fermer" (ainsi que la commande du menu système correspondante), il faut également éditer le menu système :
Code :
|
Edit: multiples modifications dues à des essais plus poussés (différence boîte de dialogue / fenêtre normale, désactivation au lieu de suppression...)
Marsh Posté le 02-10-2002 à 15:18:52
xilebo a écrit a écrit : Salut, Y a t il egalement possibilité d ajouter des boutons simplement a cet endroit ? |
Pour la deuxième partie de ta question, la réponse est non : il n'est pas possible d'ajouter simplement des boutons dans la barre de titre.
La seule solution que je connaisse est de le dessiner soit même dans le message WM_NCPAINT et de traîter également les messages WM_NCLBUTTONDOWN, WM_NCLBUTTONUP, etc. Bref, ce n'est vraiment pas une partie de plaisir.
Si tu souhaites tout de même essayer, va voir cette page : http://www.codeguru.com/dialog/cus [...] tion.shtml
Marsh Posté le 02-10-2002 à 14:14:53
Salut,
j'aimerai pouvoir desactiver (comme on peut le voir dans
certaines applications ...) les boutons systemes d une fenetre
(les 3 boutons en haut a droite), mais je n y arrive pas ...
Sachant que j utilise MFC, y a t il des fonctions (ou des messages)
permettant de controler ces boutons car j'ai besoin de desactiver
l'un d eux (la croix).
Y a t il egalement possibilité d ajouter des boutons simplement a
cet endroit ?
Merci.