Salut,
je voudrais à la création, disont plutot à l'ouverture d'une CFileDialog avoir l'affichage par defaut du mode détail pour la liste de fichiers.
????
Merci
Salut,
je voudrais à la création, disont plutot à l'ouverture d'une CFileDialog avoir l'affichage par defaut du mode détail pour la liste de fichiers.
????
Merci
Ben, quand tu fait fichiers ouvrir si tu clique sur l'icone de la boite des modes, tu as le choix entre listes, détails petites icones... pour changer le format de la liste des fichiers
merci quand même à tout le monde !
j'ai trouvé la solution sur codeguru :
http://www.codeguru.com/Cpp/W-D/disl...cle.php/c5031/
création d'une classe dérivé de CFileDialog et surcharge de OnInitDialog:
C'est OK et ça fonctionne !!
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 BOOL MyFileOpenDialog::OnInitDialog() { CFileDialog::OnInitDialog(); // heres the code to enable detail view CWnd *parent = GetParent(); if ( parent != NULL ) { parent->PostMessage(WM_COMMAND, 40964, NULL); } // thats it !! return TRUE; }
A+
salut,
Je n'arrive pas a faire marcher sa
quelqu'un peut-il me donner quelques expliquations ?
.error C2352: 'CDialog::OnInitDialog' : illegal call of non-static member function
Arnaud
salut,
a mon avis ta classe de base n'st pas derivée d'une CDialog .
ou alors ton appel n'est pas dans la fonction OnInitDialog derivée.
oui, elle est derivé d'une CFormView.
J'ai essayer sa mais sa ne marche pas.
Arnaud
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 static char BASED_CODE szFilter[] = "Fichiers Cla (*.cla)|*.cla|All Files (*.*)|*.*||"; CFileDialog fDlg(TRUE,"cla","*.cla",OFN_LONGNAMES | OFN_OVERWRITEPROMPT,szFilter); fDlg.PostMessage(WM_COMMAND, 40964, NULL);
salut,
Tu peux nous expliquer ce que tu cherches à faire ?
Peut être dans un autre post celui ci n'a apparemment rien a voir avec le sujet non ?
Oui bien sur,
Je cherche a ouvrir une boite de dialog d'ouverture de fichier (par la méthode décrite ci dessus). Mais par defaut l'affichage est en mode list, et je voudrai qu'il doit en mode "detail".
Je n'ai rien trouvé d'autre sur le forum ou sur le net.
ok j'ai compris et du coup le lien avec le post initial lol,
il faut que tu fasses une classe derivée de CFileDialog et que tu interceptes la fonction OnInitDialog pour faire le PostMessage dedans.
exemple de classe dérivée:
http://c.developpez.com/faq/vc/?page...etCurentFolder
OK, je pense avoir compris.
J'esserai sa des ce soir
Merci
bon, j'ai fait sa dans un .h
et sa dans le .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class CMyFileDialog : public CFileDialog { protected: virtual BOOL OnInitDialog(); };
sa compile, mais après, comment dois-je faire pour appeler ma boite de dialog ??? car j'ai des problèmes de constructeur après
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 BOOL CMyFileDialog::OnInitDialog() { CFileDialog::OnInitDialog(); // heres the code to enable detail view CWnd *parent = GetParent(); if ( parent != NULL ) { parent->PostMessage(WM_COMMAND, 40964, NULL); } // thats it !! return TRUE; }
avant je faisai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CFileDialog fDlg(TRUE,"cla","*.cla",OFN_LONGNAMES | OFN_OVERWRITEPROMPT,szFilter); if (fDlg.DoModal() == 1)
ah tu as pas bien recopié mon exemple ;
tu remarqueras que dans le lien cité le constructeur est repris ...
Oups !!!
SUPER FARSCAPE
MERCI BEAUCOUP
sa marche !!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager