mikrocontroller.net

Forum: PC-Programmierung Datei-Browser in C++


Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: André Kronfeldt (freakazoid)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Betriebssystem? Entwicklungsumgebung?

Für Windows, VisualStudio (MFCs): CFileDialog

Grüße,
Freakazoid

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry,

für Windows. Visual Studio C++.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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();

    ....

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,

werde ich heute Abend gleich mal ausprobieren.

Sebastian

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.