Eigener CFileDialog



  • Ich hab das mal aus der FAQ ausprobiert. Funktioniert auch, allerdings fehlt der Rand des Eingabefeldes für den Dateinamen wenn der Dialog aufgerufen wird. Wenn man dann durch die Ordner navigiert verschwinden fast alle Steuerelmente und erscheinen erst wieder wenn man mit der Maus drüber zeigt.

    Jemand ne Idee was ich falsch mache?

    Header:

    #if !defined(AFX_FILEDLG_H__99437871_EDEE_4441_BF5D_4D058B5A0A6E__INCLUDED_)
    #define AFX_FILEDLG_H__99437871_EDEE_4441_BF5D_4D058B5A0A6E__INCLUDED_
    
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // FileDlg.h : Header-Datei
    //
    
    /////////////////////////////////////////////////////////////////////////////
    // Dialogfeld CFileDlg 
    
    class CFileDlg : public CFileDialog
    {
    // Konstruktion
    public:
    	CFileDlg( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
    
    // Dialogfelddaten
    	//{{AFX_DATA(CFileDlg)
    	enum { IDD = IDD_FORMVIEW };
    		// HINWEIS: Der Klassen-Assistent fügt hier Datenelemente ein
    	//}}AFX_DATA
    
    // Überschreibungen
    	// Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen
    	//{{AFX_VIRTUAL(CFileDlg)
    	protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV-Unterstützung
    	//}}AFX_VIRTUAL
    
    // Implementierung
    protected:
    
    	// Generierte Nachrichtenzuordnungsfunktionen
    	//{{AFX_MSG(CFileDlg)
    		// HINWEIS: Der Klassen-Assistent fügt hier Member-Funktionen ein
    	//}}AFX_MSG
    	DECLARE_MESSAGE_MAP()
    };
    
    //{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
    
    #endif // AFX_FILEDLG_H__99437871_EDEE_4441_BF5D_4D058B5A0A6E__INCLUDED_
    

    CPP Datei:

    // FileDlg.cpp: Implementierungsdatei
    //
    
    #include "stdafx.h"
    #include "FileDlgTest.h"
    #include "FileDlg.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    /////////////////////////////////////////////////////////////////////////////
    // Dialogfeld CFileDlg 
    
    CFileDlg::CFileDlg(BOOL bOpenFileDialog,LPCTSTR lpszDefExt,LPCTSTR lpszFileName,DWORD dwFlags,LPCTSTR lpszFilter,CWnd* pParentWnd)
    	:CFileDialog(bOpenFileDialog,lpszDefExt,lpszFileName,dwFlags,lpszFilter,pParentWnd)
    {
    	//{{AFX_DATA_INIT(CFileDlg)
    		// HINWEIS: Der Klassen-Assistent fügt hier Elementinitialisierung ein
    	//}}AFX_DATA_INIT
    
    	m_ofn.Flags |= OFN_ENABLETEMPLATE; 
    	m_ofn.lpTemplateName=MAKEINTRESOURCE(IDD_FORMVIEW); 
    
    }
    
    void CFileDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(CFileDlg)
    		// HINWEIS: Der Klassen-Assistent fügt hier DDX- und DDV-Aufrufe ein
    	//}}AFX_DATA_MAP
    }
    
    BEGIN_MESSAGE_MAP(CFileDlg, CDialog)
    	//{{AFX_MSG_MAP(CFileDlg)
    		// HINWEIS: Der Klassen-Assistent fügt hier Zuordnungsmakros für Nachrichten ein
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    
    /////////////////////////////////////////////////////////////////////////////
    // Behandlungsroutinen für Nachrichten CFileDlg
    


  • Hi!
    Hast du "Untergeprdnete ausschneiden" in den Dialogeigenschaften angeklicjst? Wenn ja weiß ich auch nicht mehr weiter 😕

    mfg



  • habs mitlerweil hinbekommen, hatte "nebengeordnete ausschneiden" vergessen.


Anmelden zum Antworten