51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
////////////////////////////////////////////////////////////////
|
|
// MSDN -- August 2000
|
|
// If this code works, it was written by Paul DiLascia.
|
|
// If not, I don't know who wrote it.
|
|
// Compiles with Visual C++ 6.0, runs on Windows 98 and probably NT too.
|
|
//
|
|
#pragma once
|
|
|
|
// Windows 2000 version of OPENFILENAME.
|
|
// The new version has three extra members.
|
|
// This is copied from commdlg.h
|
|
//
|
|
struct OPENFILENAMEEX : public OPENFILENAME {
|
|
void * pvReserved;
|
|
DWORD dwReserved;
|
|
DWORD FlagsEx;
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CFileDialogEx: Encapsulate Windows-2000 style open dialog.
|
|
//
|
|
class CFileDialogEx : public CFileDialog {
|
|
DECLARE_DYNAMIC(CFileDialogEx)
|
|
public:
|
|
CFileDialogEx(BOOL bOpenFileDialog, // TRUE for open, FALSE for FileSaveAs
|
|
LPCTSTR lpszDefExt = NULL,
|
|
LPCTSTR lpszFileName = NULL,
|
|
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
|
|
LPCTSTR lpszFilter = NULL,
|
|
CWnd* pParentWnd = NULL);
|
|
|
|
// override
|
|
virtual INT_PTR DoModal();
|
|
|
|
protected:
|
|
OPENFILENAMEEX m_ofnEx; // new Windows 2000 version of OPENFILENAME
|
|
|
|
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
|
|
|
// virtual fns that handle various notifications
|
|
virtual BOOL OnFileNameOK();
|
|
virtual void OnInitDone();
|
|
virtual void OnFileNameChange();
|
|
virtual void OnFolderChange();
|
|
virtual void OnTypeChange();
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
//{{AFX_MSG(CFileDialogEx)
|
|
//}}AFX_MSG
|
|
};
|