IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Fenêtre fille non redimensionnable


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Fenêtre fille non redimensionnable
    Bonjour,
    Je veux faire une fenêtre fille non redimensionnable, c'est-à-dire une fenêtre fille avec seulement un bouton fermé(sans bouton d'Agrandissement et de Reduction).Je pensais pouvoir fe fenêtre avec le style <WS_OVERLAPPED|WS_SYSMENU>;mais je n'y arrive pas en le specifiant dans la création de la fenêtre fille ou dans le message <WM_CREATE> .
    Merci

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    C'est pas dans WM_CREATE, mais dans CreateWindow. Donne ton code.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Voici mon code concernant la procedure de la fenêtre fille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    switch&#40;Message&#41;
       &#123;
          case WM_CREATE&#58;
          &#123;
             char szFileName&#91;MAX_PATH&#93;;
    
    
             hImage = CreateWindowEx&#40;WS_EX_CLIENTEDGE, "IMAGE", "",
                WS_CHILD | WS_VISIBLE|WS_OVERLAPPED|WS_SYSMENU ,
                CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
                hwnd, &#40;HMENU&#41;IDC_CHILD_EDIT, hInst, NULL&#41;;
    
             SendMessage&#40;hImage, WM_SETFONT,
                &#40;WPARAM&#41;GetStockObject&#40;WHITE_BRUSH&#41;, MAKELPARAM&#40;TRUE, 0&#41;&#41;;
    Et pour la commande menu qui crée la fenêtre dans la procedure de fennêtre principale, j'ai écrit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     case IDM_CREATE&#58;
                &#123;  
                   if&#40;DialogBox&#40;hInst,MAKEINTRESOURCE&#40;CREER_IMAGE&#41;,hwnd,
                                  &#40;DLGPROC&#41; CreerImgDlgProc&#41;==0&#41; 
                      break;
                   else  
                   &#123;
                         mdicreate.szTitle = "Sans Nom";
                         mdicreate.szClass = szChild;
                         mdicreate.hOwner  = hInst;
                         mdicreate.x = CW_USEDEFAULT;
                         mdicreate.cx = largeurImage;
                         mdicreate.y =  CW_USEDEFAULT;
                         mdicreate.cy = hauteurImage;
                         mdicreate.style = 0;//MDIS_ALLCHILDSTYLES;
    
                         hChild = &#40;HWND&#41;SendMessage&#40;hMDIClient, WM_MDICREATE,
                                  0, &#40;LONG&#41;&mdicreate&#41;;

  4. #4
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    Utilise les balises [code] pour le code (j'ai édité ton message).
    Ton code de style est bon (manquerait WS_CAPTION vu que tu as spécifié WS_SYSMENU). Il est placé en réponse à WM_CREATE, ce qui est bien si c'est ta propre classe de fenêtre, mais si c'est une dialogue, c'est faux, c'est WM_INITDIALOG qu'il faut utiliser à la place.
    Détail : le SendMessage( WM_SETFONT ) est bizarre : tu ne lui donne pas une font, mais une brush. Tu es sûr de ce que tu fais ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    Avec ça ,je n'obtiens toujours pas une fenêtre fille non redimensionnable. je ne sais pas s'il ya des conditions à respecter au préalable.
    Concernant le detail, je suis debutant et j'ai demarrer mon projet avec l'exemple "MdiApp" fourni avec Dev-c++ en le transformant. C'est en voulant avoir un font de fenêtre fille blanc que j' ai changé la font.

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    J'avais pas compris que c'était des fenêtre filles. A priori, ton premier code ne sert à rien, et n'est jamais appelé.
    Son équivalent est la structure MDICREATESTRUCT que tu remplis et envoie via SendMessage( WM_MDICREATE ). Donc spécifie le style voulu dans mdicreate.style (au lieu de 0), en ayant pris garde de spécifier le style MDIS_ALLCHILDSTYLES lors de la création de hMDIClient.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 16
    Points : 8
    Points
    8
    Par défaut
    ok ça marche. Merci à vous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. window.open fenêtre fille non reconnue
    Par Vinz810 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/02/2013, 11h46
  2. Fenêtre non redimensionnable!
    Par Astraya dans le forum GLUT
    Réponses: 3
    Dernier message: 16/05/2011, 18h35
  3. Réponses: 1
    Dernier message: 27/01/2007, 13h30
  4. [C# 2.0] Créer une fenêtre non redimensionnable
    Par sqlnoob dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/06/2006, 11h22
  5. [Kylix] Fenêtres non redimensionnables
    Par fred78 dans le forum EDI
    Réponses: 2
    Dernier message: 01/12/2002, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo