Auswählen eines Ordner


  • Mod

    Den Link öffnest Du in Deinem Browser, dann liest Du was dort steht! 🤡

    Diese Antwort von Dir ist albern. Dann sag wenigestens was Du nicht verstehst.

    1. Solltest Du hier mit "alles" antworten, dann empfehle ich Dir erstmal einen Grundlagenbuch zur Windows Porgrammierung und C++!
    2. Findest Du soviele funktionierende Code Beispiele zu dieser Funktion, dass es schon fast nicht mehr auszuhalten ist...

    Was verstehst Du nicht?
    Das hwndOwner ein Parent Window angibt?
    Das pszDisplayName ein Zeiger auf einen TCHAR array ist der Größe MAX_PATH?



  • Genau hier kenn ich mich nicht aus:
    Das hwndOwner ein Parent Window angibt?

    Was ist eine Parent Window?


  • Mod

    Das Handle des Fensters das aktiv war/ist wenn Du diesen Diaog aufrufen möchtest!

    Ich rate Dir dringend mal Windows Grundlagen zu paucken.
    Auf diesem Level mach es keinen Sinn mehr weiterzuposten...



  • Ich hab gerade erst angefangen zu Programmieren.
    Und würde nur mehr das gebrauchen.
    Ich will das der Benutzer einen Ordner auswählt, damit ich den Pfad von diesem bekomme.
    Den Code hab ich ja schon reingestellt und mir fehlen die zwei Dinge, wo die Fragezeichen fehlen.
    Es soll gemacht werden, wenn man auf ONFileOpen.
    Das ist bei mir ein Menüpunkt, welcher in dem Fenster ist, das bei jeder MFC Anwendung + unbehandelter Code geöffnet wird.



  • FloRatlos schrieb:

    Ich hab gerade erst angefangen zu Programmieren.
    Und würde nur mehr das gebrauchen, um das Programm fertigzustellen.
    Ich will das der Benutzer einen Ordner auswählt, damit ich den Pfad von diesem bekomme.
    Den Code hab ich ja schon reingestellt und mir fehlen die zwei Dinge, wo die Fragezeichen fehlen.
    Es soll gemacht werden, wenn man auf ONFileOpen.
    Das ist bei mir ein Menüpunkt, welcher in dem Fenster ist, das bei jeder MFC Anwendung + unbehandelter Code geöffnet wird.



  • Hiho, was hälst du von der FAQ?



  • Ich habe alle Dateien includiert (.h und .cpp)
    aber es tritt immer einige Fehler auf:
    6) : error C2065: 'm_files' : undeclared identifier
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(780) : error C2065: 'm_dir' : undeclared identifier
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(780) : error C2679: binary '=' : no operator defined which takes a right-hand operand of type 'class CString' (or there is no acceptable conversion)
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(785) : error C2065: 'm_dirwahl' : undeclared identifier
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(786) : error C2065: 'm_list1' : undeclared identifier
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(786) : error C2228: left of '.ResetContent' must have class/struct/union type
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(788) : error C2228: left of '.Dir' must have class/struct/union type
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(789) : error C2065: 'm_anzahlfiles' : undeclared identifier
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\mdipgenView.cpp(789) : error C2228: left of '.GetCount' must have class/struct/union type
    DirDialog.cpp
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(18) : error C2065: 'gt' : undeclared identifier
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(18) : error C2113: pointer can only be subtracted from another pointer
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(18) : error C2143: syntax error : missing ')' before ';'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(18) : error C2228: left of '.IsEmpty' must have class/struct/union type
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(18) : error C2059: syntax error : ')'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(19) : error C2143: syntax error : missing ';' before 'tag::id'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(19) : error C2230: '-' : indirection to different types
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(19) : error C2143: syntax error : missing ')' before ';'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(19) : error C2143: syntax error : missing ';' before ')'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(19) : error C2597: 'CDirDialog::m_strSelDir' : illegal reference to data member in a static member function
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(20) : error C2113: pointer can only be subtracted from another pointer
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(20) : error C2143: syntax error : missing ')' before ';'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(20) : error C2228: left of '.IsEmpty' must have class/struct/union type
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(20) : error C2143: syntax error : missing ';' before ')'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(21) : error C2143: syntax error : missing ';' before ')'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(21) : error C2597: 'CDirDialog::m_strWindowTitle' : illegal reference to data member in a static member function
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(31) : error C2230: '-' : indirection to different types
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(31) : error C2352: 'CDirDialog::SelChanged' : illegal call of non-static member function
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(33) : error C2230: '-' : indirection to different types
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(33) : error C2143: syntax error : missing ')' before ';'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(33) : error C2143: syntax error : missing ';' before ')'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(33) : error C2597: 'CDirDialog::m_bStatus' : illegal reference to data member in a static member function
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(54) : error C2239: unexpected token ':' following declaration of 'CDirDialog'
    C:\Dokumente und Einstellungen\Mike\Desktop\MP-02\MP\mdipgen\DirDialog.cpp(54) : error C2059: syntax error : ':'



  • Kommt m_dir irgendwo anders noch in dem Code vor?



  • Nein, kommt nicht vor.



  • Muss man beim Reinkopieren der .h und .cpp Datei ins eigene Projekt irgendetwas berücksichtigen?



  • Hast du sie auch dem Projekt hinzugefügt? Das geht per rechte Maustaste in der Dateiansicht.


  • Mod

    FloRatlos schrieb:

    Ich hab gerade erst angefangen zu Programmieren.

    Das bedeutet für Dich mehr Lesen als permanentes Trial&Error!
    Bitte verusche erst die Grundlagen zu verstehen!



  • Naja Martin, irgendwann muss man anfangen und ein eigenes Projekt ist schon ein guter Anfang.

    Aber es ist zu Anfang weit mehr lesen als "coden", da hast du Recht. 🙂



  • Ja, ich werd mal lesen.
    Aber wie kann ich feststellen was bei mir das hWnd ist?
    Würde mich sehr freuen über eine Antwort.



  • Ich würde es mit AfxGetMainWnd versuchen.


  • Mod

    Wenn schon AfxGetMainWnd()->GetSafeHwnd() weil er für SHBrowseForFolder das Handle braucht.

    Aber wenn er den unterschied zwischen HWND und CWnd Objekt auch nicht kennt wird es wieder schwierig... 🕶


  • Mod

    estartu schrieb:

    Naja Martin, irgendwann muss man anfangen und ein eigenes Projekt ist schon ein guter Anfang.

    Nein! Sehe ich ganz und gar nicht!

    Geführte Tutorials mit viel viel Debuggen von existierendem Code hilft oft zu weitaus mehr Verständnis. Die meisten fangen viel zu früh an (oft gezwungen durch Zeitdruck oder Vorgesetzte) eigenen Code zu produzieren.

    Just my 2 cents!

    Als ich mit der MFC (Version 1.00) angefangen habe habe ich nur das Scribble Projekt von vorne bis hinten auseinangergenommen. Bis ich so in etwas wusste was die MFC eigentlich macht. Allerdings konnte ich da schon C und etwas C++.
    Aber selbst für Anfänger sind Tutorials die man wirklich durchgeht und nicht einfachmal so ansieht der beste Einsteig. Just my 2 cents...


Anmelden zum Antworten