Default Dateiname mit CFileDialog



  • Hallo,
    wie mache ich es das im CFiledialog beim abspeichern schon ein default dateiname im feld "dateiname" steht?
    bisher hab ich folgendes:

    CFileDialog m_ldFile(FALSE);
    
    	m_ldFile.m_ofn.lpstrDefExt = "csv";
    	m_ldFile.m_ofn.lpstrFilter = "CSV File (*.csv)\0*.csv\0\0";
    	if (m_ldFile.DoModal() == IDOK)
    	{
    

    d.h. nur csv werden angezeigt,
    gibts noch einen parameter mit dem man den dateiname angeben kann???
    Danke
    Harald



  • SChonmal in der MSDN nachgesehen

    Auszug (Beachte parameter 3):

    Call this function to construct a standard Windows file dialog box-object.

    explicit CFileDialog(
    BOOL bOpenFileDialog,
    LPCTSTR lpszDefExt = NULL,
    LPCTSTR lpszFileName = NULL,
    DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
    LPCTSTR lpszFilter = NULL,
    CWnd* pParentWnd = NULL,
    DWORD dwSize = 0
    );
    Parameters
    bOpenFileDialog
    Set to TRUE to construct a File Open dialog box or FALSE to construct a File Save As dialog box.
    lpszDefExt
    The default filename extension. If the user does not include an extension in the Filename edit box, the extension specified by lpszDefExt is automatically appended to the filename. If this parameter is NULL, no file extension is appended.
    lpszFileName
    The initial filename that appears in the filename edit box. If NULL, no filename initially appears.
    dwFlags



  • hab ich tatsächlich schon,
    muss gesteh ich hab den speichern dialog aus irgendweinem tutorial,
    mir ist z.b. nicht ganz klar was es sich mit dem von mir verwendetem "m_ofn"
    auf sich hat?!?
    und dann gibts da auch ein "m_ofn.lpstrFile" mit dem man den filename setzten können soll?!? mein prog. stürtz aber jedesmal ab wenn ich das ding verwende.
    danke



  • ganz easy:

    du musst beim createn als parameter
    eine maske mitgeben ( kp welcher para, findest du schon noch)

    den musst du dann nach dem schema:

    "TextDateien (*.txt)| *.txt||"

    übergeben ( für textdateien)



  • ps: für andere dateitypen musst du dann nur die
    '*' ersetzen


Anmelden zum Antworten