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 :

[C++] pb boite de dialog open


Sujet :

Windows

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [C++] pb boite de dialog open
    Bonjour amis développeur,

    Je suis débutant en programmation Windows avec l'API WIN32 sous C++ ( j'utilise Visual C++ )
    J'ai rencontrer un petit problème avec une boite de dialogue open.
    Voici le un bout de code
    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
    //...
    LRESULT CALLBACK MainProc(HWND Dlg,UINT message,WPARAM wParam,LPARAM lParam)
    {
    	int Select;
    	char buf[501];
    	HANDLE hFile;
    	DWORD Read;
    	switch(message)
    	{
    	case WM_COMMAND:
    		Select=LOWORD(wParam);
    		switch(Select)
    		{
    		case IDC_BUTTON1:
    
    			OPENFILENAME ofn;
    
    			ZeroMemory(&ofn, sizeof(OPENFILENAME));
    			ofn.lStructSize = sizeof(OPENFILENAME);
    			ofn.lpstrFilter = "All Files\0*.*\0\0";
    			ofn.nFilterIndex = 1;
    			ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
    
    			if (GetOpenFileName(&ofn))
    			{
    
    				SetDlgItemText(Dlg,IDC_FILENAME,ofn.lpstrFile);
    					
    			}
    			return 0;
    //...
    En gros j'aimerai que quand on click sur le bouton IDC_BUTTON1 une boite de dialog open file s'ouvre et lorsqu'on choisit le fichier, l'adresse complète dufichier s'inscrive dans un champ texte (IDC_FILENAME)

    Dans ma tête le code est correct ou il manque des champs de la variable ofn non ou mal rempli j'en sais pas trop mais le problème c'est que quand je choisi le fichier et valide, rien ne s'affiche...

    Si vous pouvez m'aider se serait bien, merci d'avance !

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Je pense que l'initialisation de ofn n'est pas correcte

    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
    OPENFILENAME ofn;       // common dialog box structure
    char szFile[260];       // buffer for file name
    HWND hwnd;              // owner window
    HANDLE hf;              // file handle
    
    // Initialize OPENFILENAME
    ZeroMemory(&ofn, sizeof(ofn));
    ofn.lStructSize = sizeof(ofn);
    ofn.hwndOwner = dlg;
    ofn.lpstrFile = szFile;
    //
    // Set lpstrFile[0] to '\0' so that GetOpenFileName does not 
    // use the contents of szFile to initialize itself.
    //
    ofn.lpstrFile[0] = '\0';
    ofn.nMaxFile = sizeof(szFile);
    ofn.lpstrFilter = "All Files\0*.*\0\0";
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = NULL;
    ofn.nMaxFileTitle = 0;
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
    Un exemple ici : http://msdn2.microsoft.com/en-us/lib...29(VS.85).aspx
    et la doc ici : http://msdn2.microsoft.com/en-us/library/ms646927.aspx
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ah ok,

    Je vois, faut que ofn.lpstrFile pointe sur une chaine.
    Ca marche maintenant, merci beaucoup !

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

Discussions similaires

  1. Dimension des boites de dialog sous 2000,Xp
    Par jhmallot dans le forum MFC
    Réponses: 9
    Dernier message: 17/09/2006, 17h30
  2. [Swing] boite de dialog sauvegarde
    Par harris_macken dans le forum Débuter
    Réponses: 14
    Dernier message: 09/06/2005, 18h56
  3. problème avec la boite de dialog d'impression
    Par hrp dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/01/2005, 16h30
  4. [mfc] affichage dans une boite de dialog
    Par chronos dans le forum MFC
    Réponses: 3
    Dernier message: 14/06/2004, 15h12
  5. Difference entre fenetre et boite de dialog
    Par billyboy dans le forum Windows
    Réponses: 2
    Dernier message: 02/06/2003, 15h43

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