- [Main Page](index.md)
- [Classes](annotated.md)
- [Files](files.md)
- [Directories](dirs.md)
- [Related Pages](pages.md)
- [File List](files.md)
- [File Members](globals.md)
Cpxfiled.h¶
Go to the documentation of this file.
00001 /* KB 10/30/00 \Ken90\Include\3rdParty\CPXFILED.H
00002 * @doc
00003 * $Workfile: cpxFileDlg.h $
00004 * Copyright (c) 1995 - 1997 CoreTek, Inc.
00005 * This work is protected by United States and international copyright laws
00006 * and contains certain trade secret information. All use of this work is
00007 * governed by the terms of agreements between CoreTek Corporation and its
00008 * licensees or potential licensees. Disclosure or disassembly of the
00009 * contents of embodied programs or algorithms is prohibited.
00010 * All rights reserved.
00011 * Description:
00012 * $Revision: 11 $ $Author: Yury $ $Date: 6/22/97 10:30p $
00013 ************************************************************************/
00014 #ifndef __CPX_FILEDLG
00015 #define __CPX_FILEDLG
00016
00017 #ifndef appendDITLBottom
00018 #define overlayDITL 0
00019 #define appendDITLRight 1
00020 #define appendDITLBottom 2
00021 #endif
00022
00023 #define OFN_ADDEXTENSION 0x00100000
00024
00026 // CPXNewDir dialog
00027
00028 //@class New directory dialog.
00029 //@base public | CDialog
00030 //@devnote Lets you choose a new directory
00031
00032 class XMAC_CLASS CPXNewDir : public CDialog
00033 {
00034 // Construction
00035 public:
00036 CPXNewDir(CWnd* pParent = NULL); // standard constructor
00037 // Dialog Data
00038 //{{AFX_DATA(CPXNewDir)
00039 enum { IDD = IDD_CPX_NEWDIR };
00040 CString m_NewDir;
00041 //}}AFX_DATA
00042 // Overrides
00043 // ClassWizard generated virtual function overrides
00044 //{{AFX_VIRTUAL(CPXNewDir)
00045 protected:
00046 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
00047 virtual void OnOK();
00048 //}}AFX_VIRTUAL
00049 // Implementation
00050 protected:
00051 // Generated message map functions
00052 //{{AFX_MSG(CPXNewDir)
00053 virtual BOOL OnInitDialog();
00054 //}}AFX_MSG
00055 DECLARE_MESSAGE_MAP()
00056 };
00057
00058 #ifndef _MAC
00059
00060 //@class Open or Save file dialog.
00061 //@base public | CFileDialog for Win32 only
00062 //@devnote When compiled for Windows platforms the <c CPXFileDialog> is mapped to the
00063 // standard Win32 CFileDilaog.
00064 // To use the dialog box on the Macintosh, you must include "CpxDlgs.r" in your
00065 // "APP".r file. If you'd like to have 3D gray buttons, the "CDEF3d.r" should also be
00066 // included. There are some limitations on what one can do in the dialog callbacks
00067 // (inside the methods like OnUserItem(), OnFolderChanged()). Never call _chdir() or
00068 // any other APIs that will modify the current directory. Some operations on DCs are
00069 // also proscribed: changing the clipping region in any way is not recommended.
00070 //
00071 class XMAC_CLASS CPXFileDialog : public CFileDialog
00072 {
00073 public:
00074 // CPXFileDialog (BOOL bOpen,LPCTSTR lpszDefExt = NULL,LPCTSTR lpszFileName = NULL,DWORD dwFlags = OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
00075 #if _MEMDEBUG
00076 void *operator new( size_t size, char *file, const int line ) { return ALLOCEXT( size, file, line ); }
00077 #else
00078 void *operator new( size_t size ) { return AllocExt( size ); }
00079 #endif
00080 void operator delete( void *ptr ) { FreeExt( ptr ); }
00081 BOOL GetItemPos (int nID, CRect *rect);
00082 int m_DITLoperand;
00083 };
00084
00085
00086 #define OFN_CHOOSEDIR_FLAGS OFN_SHOWHELP|OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ENABLETEMPLATE
00087
00088 //@class Choose directory dialog.
00089 //@base public | CFileDialog for Win32 only.
00090 //@devnote Portable.
00091 class XMAC_CLASS CPXChooseDirectory : public CFileDialog
00092 {
00093 public:
00094 CPXChooseDirectory(LPCTSTR lpcszCaption, LPCTSTR lpcszInitialDir = NULL, CWnd* pWndParent = NULL);
00095 CString GetPathName(void);
00096 protected:
00097 virtual BOOL OnInitDialog();
00098 afx_msg void OnNewDir();
00099 DECLARE_MESSAGE_MAP()
00100 };
00101
00102 #else // _MAC
00103 #ifndef _CPX_REZ_H
00104 #include <cpxRez.h>
00105 #endif
00106
00107 #ifndef __MACFILES_H
00108 #include <MacFiles.h>
00109 #endif
00110
00111
00112 typedef struct S_FileTypes {
00113 S_FileTypes() {
00114 types = 0;
00115 ntypes = 0;
00116 }
00117 ~S_FileTypes() {
00118 DELETE_ARRAY(types);
00119 }
00120 Str32 name;
00121 FOURCC *types;
00122 short ntypes;
00123 CExtension ext;
00124 } FTYPES;
00125
00126 #define MAX_FILTERS 128
00127
00128 class XMAC_CLASS CPXFileDialog
00129 {
00130 public:
00131 CPXFileDialog (BOOL bOpen,LPCTSTR lpszDefExt = NULL,LPCTSTR lpszFileName = NULL,DWORD dwFlags = OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
00132 ~CPXFileDialog();
00133
00134 BOOL GetItemPos (int nID, CRect *rect);
00135 virtual void InvalidateRect (CRect *rect, BOOL erase);
00136 virtual int DoModal (void);
00137 CString GetPathName (void);
00138 CString GetFileName (void);
00139 CString GetFileExt (void);
00140 CString GetFileTitle (void);
00141 BOOL GetReadOnlyPref (void) const;
00142
00143 // Standard MFC ones we would like to have here
00144 virtual void DoDataExchange (CDataExchange* pDX) { return; }
00145 BOOL OnCommand (WPARAM wParam, LPARAM lParam) { return FALSE; }
00146 BOOL OnEraseBkgnd (CDC* pDC) { return FALSE; }
00147 CDC *GetDC (void);
00148 void ReleaseDC (CDC *pDC);
00149 //Overridables
00150 virtual void OnMouseMove (UINT nFlags, CPoint point);
00151 virtual BOOL OnSetCursor (CWnd* pWnd, UINT nHitTest, UINT message);
00152 virtual void OnFileNameChange();
00153 virtual void OnFolderChange();
00154 virtual BOOL OnFileNameOK (void);
00155 virtual void OnLBSelChangedNotify(UINT, UINT, UINT);
00156 virtual void OnInitDone (void);
00157 virtual void OnTypeChange (void);
00158 virtual void OnHelp (void);
00159 virtual void OnUserItem (short item);
00160 virtual void OnLButtonDown ( UINT nFlags, CPoint point ) {}
00161 virtual void OnLButtonUp ( UINT nFlags, CPoint point ) {}
00162
00163
00164 BOOL IsFileEdit(Rect *rect);
00165
00166 OPENFILENAME m_ofn;
00167 int m_DITLoperand;
00168 protected:
00169 BOOL m_bOpenFileDialog;
00170 DialogPtr m_MacDlg;
00171 private:
00172 void SetFilter (LPCSTR filter);
00173 CString getFileName (void);
00174 CString m_iniFilter;
00175 CString m_FileTitle;
00176 CString m_FilePath;
00177 FTYPES m_Types[MAX_FILTERS];
00178 int m_fcnt;
00179 short m_SelType;
00180 StandardFileReply m_SFReply;
00181 BOOL m_edFilter;
00182 BOOL m_RdOnly;
00183 BOOL m_inModal;
00184 HDC m_WrappedDC;
00185 Rect m_FileEditRect;
00186 int m_Return;
00187 friend unsigned char __pascal FileOpenFilter(CInfoPBPtr pb,void *data);
00188 friend short __pascal OpenFileHook(short item,DialogPtr dlg,void *data);
00189 friend pascal Boolean EventFilter(DialogPtr dlg, EventRecord *event, short *item, void *data);
00190 friend void MacSetFileDialogStartPosition (LPCSTR start, StandardFileReply *sfr);
00191
00192 };
00193
00194 class XMAC_CLASS CPXChooseDirectory
00195 {
00196 public:
00197 CPXChooseDirectory(LPCTSTR lpcszCaption, LPCTSTR lpcszInitialDir = NULL, CWnd* pWndParent = NULL);
00198 CString GetPathName(void);
00199
00200 virtual int DoModal (void);
00201
00202 private:
00203 StandardFileReply m_SFReply;
00204 int m_OK;
00205 CString m_FilePath;
00206 CString m_Title;
00207 friend unsigned char __pascal ChooseDirFilter(CInfoPBPtr pb,void *data);
00208 friend short __pascal ChooseDirHook(short item,DialogPtr dlg,void *data);
00209
00210 };
00211
00212 #endif // _MAC
00213
00214 #endif //__CPX_FILEDLG
This A:M SDK v12.0 documentation is maintained by Hash Inc. Please address any comments concerning this documentation to AMReports. If you have any information, knowledge, or documentation to share with the A:M developer community, please post them on the Hash SDK forum.
Generated on Thu Oct 27 11:46:43 2005 with doxygen 1.4.5 written by Dimitri van Heesch, © 1997-2001