CFileDialog sieht anderst aus bei allowmultiselect
-
Hallo,
kann mir jemand sagen warum es 2 unterschiedliche CFileDialoge gibt? Benutze ich die Kombination |=OFN_ALLOWMULTISELECT kommt zwar eine Debugger Fehlermeldung drückt man aber auf ignorieren läuft alles weiter und es kommt ein CFileDialog der anders als normal aussieht. (Man hat 2 Fenster eines für Dateien und eines für die Verzeichnisse) Kann mir jemand sagen was das genau für ein Dialog ist, warum das ganze im Debugmode hängt aber im Releasemode durchläuft...
CFileDialog *file; CString szFilter="*.*", temp; CString defName = "*.*"; file = new CFileDialog (TRUE, NULL, defName,NULL, szFilter); file->m_ofn.Flags|=OFN_ALLOWMULTISELECT; file->m_ofn.lpstrTitle = "Choose Input..."; if (file->DoModal() == IDOK) {....}Anyway, schon mal danke
PS:
file->m_ofn.Flags=OFN_ALLOWMULTISELECT;läuft durch aber es ist halt der normale CFileDlg
-
Also die Beschreibung des Dialoges klingt nach dem alten Win3.11er Dialog.
Der könnte ein Überbleibsel sein - ist aber nur eine Vermutung.

-
Also eigentlich dürfte das doch gar nicht funktionieren mit
|=allowmultiselectoder und deshalb dürfte eigentlich auch nicht dieser Dialog auftauchen???
-
Also, ich hab einfach mal deinen Code ausprobiert:
Bei mir sieht das Teil ganz normal aus, jedenfalls nicht, wie du es beschrieben hast.
Vielleicht liegt es daran, dass ich w2k habe.Warum sollte das
|=allowmultiselect
nicht funktionieren?
-
Also unter NT sieht der Dialog je nachdem ob
File->m_ofn.flags=allowmultiselectoder
File->m_ofn.flags|=allowmultiselectverschieden aus. Und ich bin zwar nicht so ein Profi aber wäre nicht die richtige schreibweise
File->m_ofn.flags=allowmultiselectGruß und Danke für die ganzen Tips
-
Das kommt darauf an:
File->m_ofn.flags=allowmultiselectJetzt steht in File->m_ofn.flags nur allowmultiselect drin.
File->m_ofn.flags=irgendwas File->m_ofn.flags|=allowmultiselectJetzt steht in File->m_ofn.flags igendwas und allowmultiselect drin.
File->m_ofn.flags ist in einzelne Bits aufgeteilt. Kennst du "Bitrechnung"?
Daher kann man richtig oder falsch nur entscheiden, wenn man weiß, was du machen willst.
-
Was für eione fehlermeldung bekommst du denn? Sicvherlich ein ASSERT - welche Zeile, was steht da usw.