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.
???? :P
Merci
Version imprimable
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.
???? :P
Merci
C'est quoi un mode détail ?
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
:lol:
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 !! :wink:Code:
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 ?
.Citation:
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.
:D
oui, elle est derivé d'une CFormView.
J'ai essayer sa mais sa ne marche pas.
ArnaudCode:
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 ?
:D
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
:D
OK, je pense avoir compris.
J'esserai sa des ce soir :)
Merci
bon, j'ai fait sa dans un .h
et sa dans le .cppCode:
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:
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:
1
2 CFileDialog fDlg(TRUE,"cla","*.cla",OFN_LONGNAMES | OFN_OVERWRITEPROMPT,szFilter); if (fDlg.DoModal() == 1)
ah :nono: tu as pas bien recopié mon exemple ;
tu remarqueras que dans le lien cité le constructeur est repris ...
:D
Oups !!! :oops: :oops: :oops: :oops:
SUPER FARSCAPE
MERCI BEAUCOUP :applo: :applo: :ccool: :ccool: :hola: :hola:
sa marche !!!