// *****************************************************************
// -----------------------------------------------------------------
// FixDefines.h - Definiert die #defines gegen virtuelle MFC-Funktionen,
//                die Argumente der umdefinten Klassen enthalten
// -----------------------------------------------------------------
// *****************************************************************

// Klasse CControlBar
// ------------------

// Fix gegen void CControlBar::OnUpdateCmdUI(CFrameWnd*, BOOL)
#define RTFIX_CCONTROLBAR_ONUPDATECMDUI() \
	virtual void OnUpdateCmdUI(__Y_CFrameWnd* pTarget, BOOL bDisableIfNoHndler) \
	{ OnUpdateCmdUI((__X_CFrameWnd*)pTarget, bDisableIfNoHndler); } \

// Klasse CDaoRecordset
// --------------------

// Fix gegen CString CDaoRecordset::GetDefaultDBName()
#define RTFIX_CDAORECORDSET_GETDEFAULTDBNAME() \
	virtual __Y_CString GetDefaultDBName() \
	{ return GetDefaultDBName(); } \

// Fix gegen CString CDaoRecordset::GetDefaultSQL()
#define RTFIX_CDAORECORDSET_GETDEFAULTSQL() \
	virtual __Y_CString GetDefaultSQL() \
	{ return GetDefaultSQL(); } \

// Klasse CDocManager
// ------------------

// Fix gegen BOOL CDocManager::DoPromptFileName(CString&, UINT, DWORD, BOOL, CDocTemplate*);
#define RTFIX_CDOCMANAGER_DOPROMPTFILENAME() \
	virtual BOOL DoPromptFileName(__Y_CString& fileName, UINT nIDSTitle, \
		DWORD lFlags, BOOL bOpenFileDialog, CDocTemplate* pTemplate) \
	{ return DoPromptFileName((__X_CString&)fileName, nIDSTitle, lFlags, bOpenFileDialog, pTemplate); } \

// Klasse CDocTemplate
// -------------------

// Fix gegen BOOL CDocTemplate::GetDocString(CString&, enum DocStringIndex);
#define RTFIX_CDOCTEMPLATE_GETDOCSTRING() \
	virtual BOOL GetDocString(__Y_CString& rString,	enum DocStringIndex index) const  \
	{ return GetDocString((__X_CString&)rString, index); } \

// Fix gegen CFrameWnd* CDocTemplate::CreateNewFrame(CDocument*, CFrameWnd*);
#define RTFIX_CDOCTEMPLATE_CREATENEWFRAME() \
	virtual __Y_CFrameWnd* CreateNewFrame(CDocument* pDoc, __Y_CFrameWnd* pOther) \
	{ return (__Y_CFrameWnd*) CreateNewFrame(pDoc, (__X_CFrameWnd*) pOther); } \

// Fix gegen CFrameWnd* CDocTemplate::CreateOleFrame(CWnd*, CDocument*, BOOL);
#define RTFIX_CDOCTEMPLATE_CREATEOLEFRAME() \
	virtual __Y_CFrameWnd* CreateOleFrame(CWnd* pParentWnd, CDocument* pDoc, BOOL bCreateView) \
	{ return (__Y_CFrameWnd*) CreateOleFrame(pParentWnd, pDoc, bCreateView); } \

// Fix gegen void CDocTemplate::InitialUpdateFrame(CFrameWnd*, CDocument*, BOOL);
#define RTFIX_CDOCTEMPLATE_INITIALUPDATEFRAME() \
	virtual void InitialUpdateFrame(__Y_CFrameWnd* pFrame, CDocument* pDoc, \
		BOOL bMakeVisible = TRUE) \
	{ InitialUpdateFrame((__X_CFrameWnd*)pFrame, pDoc, bMakeVisible); } \

// Klasse CDocument
// ----------------

// Fix gegen BOOL CDocument::CanCloseFrame(CFrameWnd*)
#define RTFIX_CDOCUMENT_CANCLOSEFRAME() \
	virtual BOOL CanCloseFrame(__Y_CFrameWnd* pFrame) \
	{ return CanCloseFrame((__X_CFrameWnd*)pFrame); } \

// Fix gegen void CDocument::PreCloseFrame(CFrameWnd* pFrame);
#define RTFIX_CDOCUMENT_PRECLOSEFRAME() \
	virtual void PreCloseFrame(__Y_CFrameWnd* pFrame) \
	{ PreCloseFrame((__X_CFrameWnd*)pFrame); } \

// Klasse COleServerDoc
// --------------------

// Fix gegen BOOL COleServerDoc::GetFileTypeString(CString& rString);
#define RTFIX_COLESERVERDOC_GETFILETYPESTRING() \
	virtual BOOL GetFileTypeString(__Y_CString& rString) \
	{ return GetFileTypeString((__X_CString &)rString); } \

// Fix gegen void COleServerDoc::OnShowControlBars(CFrameWnd* pFrameWnd, BOOL bShow);
#define RTFIX_COLESERVERDOC_ONSHOWCONTROLBARS() \
	virtual void OnShowControlBars(__Y_CFrameWnd* pFrameWnd, BOOL bShow) \
	{ return OnShowControlBars((__X_CFrameWnd*)pFrameWnd, bShow); }

// Klasse CFile
// ------------

// Fix gegen CString CFile::GetFileName() const
#define RTFIX_CFILE_GETFILENAME() \
	virtual __Y_CString GetFileName() const \
	{ return (__Y_CString) GetFileName(); } \

// Fix gegen CString CFile::GetFileTitle() const
#define RTFIX_CFILE_GETFILETITLE() \
	virtual __Y_CString GetFileTitle() const \
	{ return (__Y_CString) GetFileTitle(); } \

// Fix gegen CString CFile::GetFilePath() const
#define RTFIX_CFILE_GETFILEPATH() \
	virtual __Y_CString GetFilePath() const \
	{ return (__Y_CString) GetFilePath(); } \

// Klasse COleStreamFile
// ---------------------

// Fix gegen const CString COleStreamFile::GetStorageName() const;
#define RTFIX_COLESTREAMFILE_GETSTORAGENAME() \
	virtual const __Y_CString GetStorageName() const \
	{ return (__Y_CString) GetStorageName(); } \

// Klasse CStdioFile
// -----------------

// Fix gegen BOOL CStdioFile::ReadString(CString&)
#define RTFIX_CSTDIOFILE_READSTRING() \
	virtual BOOL ReadString(__Y_CString& rString) \
	{ return ReadString((__X_CString&)rString); } \
		
// Klasse CHttpFile
// -----------------

// Fix gegen CString CHttpFile::GetFileURL() const;
#define RTFIX_CHTTPFILE_GETFILEURL() \
	virtual __Y_CString GetFileURL() const \
	{ return (__Y_CString) GetFileURL(); } \

// Klasse CFileFind
// ----------------

// Fix gegen CString CFileFind::GetFileName() const;
#define RTFIX_CFILEFIND_GETFILENAME() \
	virtual __Y_CString GetFileName() const \
	{ return (__Y_CString) GetFileName(); } \

// Fix gegen CString CFileFind::GetFilePath() const;
#define RTFIX_CFILEFIND_GETFILEPATH() \
	virtual __Y_CString GetFilePath() const \
	{ return (__Y_CString) GetFilePath(); } \

// Fix gegen CString CFileFind::GetFileTitle() const;
#define RTFIX_CFILEFIND_GETFILETITLE() \
	virtual __Y_CString GetFileTitle() const \
	{ return (__Y_CString) GetFileTitle(); } \

// Fix gegen CString CFileFind::GetFileURL() const;
#define RTFIX_CFILEFIND_GETFILEURL() \
	virtual __Y_CString GetFileURL() const \
	{ return (__Y_CString) GetFileURL(); } \

// Fix gegen CString CFileFind::GetRoot() const;
#define RTFIX_CFILEFIND_GETROOT() \
	virtual __Y_CString GetRoot() const \
	{ return (__Y_CString) GetRoot(); } \

// Klasse COleClientItem
// ---------------------

// Fix gegen BOOL COleClientItem::OnGetWindowContext(CFrameWnd**,	CFrameWnd**, LPOLEINPLACEFRAMEINFO);
#define RTFIX_COLECLIENTITEM_ONGETWINDOWCONTEXT() \
	virtual BOOL OnGetWindowContext(__Y_CFrameWnd** ppMainFrame, \
		__Y_CFrameWnd** ppDocFrame, LPOLEINPLACEFRAMEINFO lpFrameInfo) \
	{ return OnGetWindowContext((__X_CFrameWnd*)ppMainFrame, \
		(__X_CFrameWnd*)ppDocFrame, lpFrameInfo); } \

// Fix gegen BOOL COleClientItem::OnShowControlBars(CFrameWnd*, BOOL);
#define RTFIX_COLECLIENTITEM_ONSHOWCONTROLBARS() \
	virtual BOOL OnShowControlBars(__Y_CFrameWnd* pFrameWnd, BOOL bShow) \
	{ return OnShowControlBars((__X_CFrameWnd*)pFrameWnd, bShow); } \

// Klasse COleControl
// ------------------

// Fix gegen void COleControl::GetMessageString(UINT, CString&)
#define RTFIX_COLECONTROL_GETMESSAGESTRING() \
	virtual void GetMessageString(UINT nID, __Y_CString& rString) \
	{ GetMessageString(nID, (__X_CString&)rString); } \

// Fix gegen BOOL COleControl::OnGetDisplayString(DISPID, CString&);
#define RTFIX_COLECONTROL_ONGETDISPLAYSTRING() \
	virtual BOOL OnGetDisplayString(DISPID id, __Y_CString& rString) \
	{ return OnGetDisplayString(id, (__X_CString&)rString); } \

// Klasse CRecordset
// -----------------

// Fix gegen CString CRecordset::GetDefaultConnect();
#define RTFIX_CRECORDSET_GETDEFAULTCONNECT() \
	virtual __Y_CString GetDefaultConnect() \
	{ return (__Y_CString) GetDefaultConnect(); } \
	
// Fix gegen CRecordset::GetDefaultSQL();
#define RTFIX_CRECORDSET_GETDEFAULTSQL() \
	virtual __Y_CString GetDefaultSQL() \
	{ return (__Y_CString) GetDefaultSQL(); } \

// Klasse CView
// ------------

// Fix gegen void CView::OnActivateFrame(UINT, CFrameWnd*);
#define RTFIX_CVIEW_ONACTIVATEFRAME() \
	virtual void OnActivateFrame(UINT nState, __Y_CFrameWnd* pFrameWnd) \
	{ OnActivateFrame(nState, (__X_CFrameWnd*)pFrameWnd); }

// Klasse CFrameWnd
// ----------------

// Fix gegen void CFrameWnd::GetMessageString(UINT, CString&) const;
#define RTFIX_CFRAMEWND_GETMESSAGESTRING() \
	virtual void GetMessageString(UINT nID, __Y_CString& rMessage) const \
	{ GetMessageString(nID, (__X_CString&)rMessagee); } \

// Fix gegen CFrameWnd* CFrameWnd::GetActiveFrame();
#define RTFIX_CFRAMEWND_GETACTIVEFRAME() \
	virtual __Y_CFrameWnd* GetActiveFrame() \
	{ return (__Y_CFrameWnd*) GetActiveFrame(); } \

// Klasse COleIPFrameWnd
// ---------------------

// Fix gegen BOOL COleIPFrameWnd::OnCreateControlBars(CFrameWnd*, CFrameWnd*);
#define RTFIX_COLEIPFRAMEWND_ONCREATECONTROLBARS() \
	virtual BOOL OnCreateControlBars(__Y_CFrameWnd* pWndFrame, __Y_CFrameWnd* pWndDoc) \
	{ return OnCreateControlBars((__X_CFrameWnd*) pWndFrame, (__X_CFrameWnd*)pWndDoc); } \


// *****************************************************************
// Die typedef's, damit man nachher ohne #define bzw. #undef in den
// Quellen auskommt
// *****************************************************************

#undef CFrameWnd
typedef CFrameWnd __Y_CFrameWnd;
#define CFrameWnd __X_CFrameWnd 

#undef CString
typedef CString __Y_CString;
#define CString __X_CString








