Datei-Browser in C++

Gast #385645
Lesenswert?

Hallo,

für meinen FPGA Pulsgenerator habe ich eine GUI geschrieben in der ich
Pulsformen, hinterlegt in *.txt-Files, auf den FPGA laden kann. Um
diese Text-Files zu öffnen, muss man den Pfad manuell in ein
Eingabefeld schreiben.
Am liebsten hätte ich einen Dateibrowser, wie in jeder modernen GUI
vorhanden. Gibt es dafür schon vorgefertigte Klassen? Wäre super wenn
ihr mir da Tipps geben könnt.

Vielen Dank,
Sebastian
#385648
Lesenswert?

Wie andre schon sagte:
CFileDialog
Die Doku in der MSDN ist mehr als ausreichend, und der
Dialog ist einfach einzusetzen:

Das einzig interessante ist, wie kann man sich das zuletzt
benutzte Verzeichnis in der Registry merken und dem
DIalog wieder vorgeben (nichts ist lästiger, als wenn man
ständig das Verzeichnis wieder suchen muss).

zb.

  CFileDialog Dlg( TRUE, "rgt", "",
                   OFN_HIDEREADONLY | OFN_FILEMUSTEXIST,
                   "Regatta (*.rgt)|*.rgt|",
                   AfxGetMainWnd() );

  CString InitialDir = GetProfileString( "App", "LastDir", "" );
  Dlg.m_ofn.lpstrInitialDir = InitialDir;

  if( Dlg.DoModal() == IDOK ) {

    TCHAR PathName[_MAX_PATH];
    strncpy( PathName, Dlg.GetPathName(), Dlg.m_ofn.nFileOffset );
    PathName[Dlg.m_ofn.nFileOffset] = '\0';

    WriteProfileString( "App", "LastDir", PathName );

    String CompleteFileName = Dlg.GetPathName();

    ....
Gast #385650
Lesenswert?

Hallo,

echt super wie das funktioniert. Ich muss ja schon sagen ich bin alles
andere als ein Windowsprogrammierer. Trotzdem wird mit so einem
Schnick-Schnack die GUI richtig professionell :-).

Danke auf jeden Fall,
Sebastian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren