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

Visual C++ Discussion :

boite de diaologue non modale et invisible


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de mapmip
    Profil pro
    ulla
    Inscrit en
    Juillet 2006
    Messages
    1 326
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : ulla

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 326
    Par défaut boite de diaologue non modale et invisible
    bonjour,
    je suis hyper debutant en C++ et je souhaite modifier un code que j'ai recuperé:

    ce code cree une boite de dialogue sauf que je veux qu'elle soit non modale et non visible. comment faire ?

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     
     
     
    //Fonction principale: Création d'une boite de dialogue sans ressources
    int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrev, LPSTR lpCmd,int nShow )
    {
     
        // Allouer de la mem pour notre dialog template
    	LPDLGTEMPLATE lpdt = ( LPDLGTEMPLATE) GlobalAlloc(GPTR, 512); 
        if (!lpdt) return 1;
     
        // Définir les propriétés de la boite de dialogue
     
     
        lpdt->style = WS_POPUP | WS_BORDER |DS_MODALFRAME ; 
     
     
     
        lpdt->x  = 10;	lpdt->y  = 10;	lpdt->cx = 120; lpdt->cy = 50; 
     
        // Obtenir pointeur sur la zone du nom de la boite de dialogue
        LPWSTR lpnom=(LPWSTR) (lpdt+1)+2;
     
    	// Convertir le nom en UNICODE et le mettre dans la zone nom
    	MultiByteToWideChar (CP_ACP, 0, "Hook Global Sans DLL", -1, lpnom, 128);
     
        // Lancer la boite de dialogue
    	DialogBoxIndirect(hInstance,lpdt,NULL,(DLGPROC)MainDlgProc);
     
    	// Libérer la mémoire allouée puis quitter
        GlobalFree((HGLOBAL) lpdt); 
        return( FALSE );
    }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 130
    Par défaut
    - T'a essayé de virer le flag DS_MODALFRAME pour la passer non modale ?

    - Peut être que ShowWindow peut te permettre de ne pas afficher ta boîte de dialogue: http://msdn2.microsoft.com/en-us/lib...48(VS.85).aspx

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Pour la passer en Non-modale, tu dois utiliser la fonction CreateDialogIndirect() au lieu de DialogBoxIndirect().
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/05/2008, 17h53
  2. Boite de dialogue non modale
    Par Orc_Fayeh dans le forum MFC
    Réponses: 4
    Dernier message: 19/02/2007, 22h25
  3. Afficher/Cacher Boite de dialogue non modale
    Par coco21 dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2007, 10h08
  4. Boite de dialogue non modale
    Par cjacquel dans le forum MFC
    Réponses: 1
    Dernier message: 25/12/2006, 21h46
  5. dimension boite de dialogue non modale
    Par afan dans le forum MFC
    Réponses: 25
    Dernier message: 21/10/2004, 13h35

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