FormBorderStyle à none et CreateParams sans le maximize ? [Résolu]

Messages postés
201
Date d'inscription
mercredi 8 février 2006
Dernière intervention
20 février 2007
- 13 mars 2006 à 17:26 - Dernière réponse :
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Dernière intervention
20 février 2007
- 14 mars 2006 à 09:57
Bonjour tout le monde,

j'ai une application avec le borderstyle à none.
De ce fait, j'ai perdu le context menu de la barre des taches.
Je l'ai récupérer grace à la réponse de maitre coq ici.
private const int WS_SYSMENU = 0x00080000;
private const int WS_MINIMIZEBOX = 0x00020000;

protected override CreateParams CreateParams
{
get
{
CreateParams createParams = base.CreateParams;
createParams.Style |= WS_SYSMENU;
createParams.Style |= WS_MINIMIZEBOX ;
return createParams;
}
}

Ca fonctionne très bien.
PAr contre, je voudrais supprimé le fait de maximizer et je ne connais pas le masque pour le virer dans le createParams.Style.

Le connaissez vous?

De plus, où trouvez vous ces codes?

f.colo
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
- 13 mars 2006 à 17:41
3
Merci
Comme ça :

private const int WS_MAXIMIZEBOX = 0x00010000;


// ..


createParams.Style ^= WS_MAXIMIZEBOX;

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de Lutinore
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Dernière intervention
20 février 2007
- 13 mars 2006 à 18:52
0
Merci
Merci beaucoup, c'est super tout ce que vous faite pour nous :)

Mais où trouvez vous toutes ces informations?
Comment trouver toutes les fonctions windows que l'on peut overrider?

f.colo
Commenter la réponse de cs_fcolo
Messages postés
3248
Date d'inscription
lundi 25 avril 2005
Dernière intervention
27 octobre 2012
- 13 mars 2006 à 19:56
0
Merci
Les fonctions comme CreateParam ou WndProc dérivent de la classe Form ou de la classe Control, elles sont managées, mais elle reposent sur l'API Wndows, les constantes comme WS_MAXIMIZEBOX se trouvent dans les fichiers headers ( *.h ) du C/C++.

Toute la documentation de l'API Windows se trouve dans le platform SDK ou en ligne >ici<.
Commenter la réponse de Lutinore
Messages postés
201
Date d'inscription
mercredi 8 février 2006
Dernière intervention
20 février 2007
- 14 mars 2006 à 09:57
0
Merci
Donc, je suis allé dans le SDK du C:
C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include

J'ai fais une recherche de WS_MAXIMIZEBOX dans tous les fichiers.
Il me sort le fichier WinUser.h.
Dans la section Window Styles il y a bien plein de définition dont celle données au dessus.
Ces définition je les retrouve dans le MSDN.
Mais, malgrès moi, je ne sais pas quel WS_ choisir pour enlever le deplacer du menu.
Il est bien dis explicitement que le WS_SYSMENU crée un menu dans la barre de tache mais rien pour son contenu. Donc pour le moment, betement je vous demande comment faire, mais vous devez bien avoir une technique pour y arriver.
En fait je cherche une méthode pour me débrouiller par moi meme plutot que de venir vous demander à chaque fois.

Par exemple, est-il possible dans se menu que je rajoute des appels de fonction de mon programme. Par exemple un lien dans se menu "bonjour" qui, lorsque je clique appelle ma fonction hello() qui affiche un popup.
Où trouvez vous toutes ces réponses?

f.colo
Commenter la réponse de cs_fcolo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.