首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

MFC,哪位高手能给小弟我.\src\occimpl.h这个文件吗?

2013-09-06 
MFC,谁能给我..\src\occimpl.h这个文件吗???如题occimpl.hmfc[解决办法]VS2010的// This is a part of the

MFC,谁能给我..\src\occimpl.h这个文件吗???
如题MFC,哪位高手能给小弟我.\src\occimpl.h这个文件吗? occimpl.h mfc
[解决办法]
VS2010的

// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#ifndef _AFX_NO_OCC_SUPPORT

// MFC doesn't use the OLEDB 1.5 features of ATL and it causes
// compile problems, so just make ATL think it's not version 1.5
#if (OLEDBVER >= 0x0150)
#undef OLEDBVER
#define OLEDBVER 0x0100
#endif

#include "atldbcli.h"

class CDataSourceControl;
class CDataBoundProperty;

// CCmdTarget
class COleControlContainer;
class COleControlSite;

class COccManager;
struct _AFX_OCC_DIALOG_INFO;

#define DISPID_DATASOURCE   0x80010001
#define DISPID_DATAFIELD    0x80010002

interface AFX_NOVTABLE IDataSourceListener : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE OnDataMemberChanged(BSTR bstrDM) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDataMemberAdded(BSTR bstrDM) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDataMemberRemoved(BSTR bstrDM) = 0;
};

interface AFX_NOVTABLE IDataSource : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetDataMember(BSTR bstrDM, const GUID __RPC_FAR* riid, IUnknown __RPC_FAR* __RPC_FAR* ppunk) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDataMemberName(long lIndex, BSTR __RPC_FAR *pbstrDM) = 0;


virtual HRESULT STDMETHODCALLTYPE GetDataMemberCount(long __RPC_FAR *plCount) = 0;
virtual HRESULT STDMETHODCALLTYPE AddDataSourceListener(IDataSourceListener __RPC_FAR *pDSL) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveDataSourceListener(IDataSourceListener __RPC_FAR *pDSL) = 0;
};

/////////////////////////////////////////////////////////////////////////////
// OLE Databinding support class for data sources

interface IRowPosition;

class CDataSourceControl
{
private:
CDataSourceControl() {};
public:
struct METAROWTYPE
{
DBCOLUMNID idColumnID;
DWORD dwColumnID;
LPSTR lpstrName;
DWORD dwName;
CPtrList* m_pClientList;
};

CDataSourceControl(COleControlSite *pClientSite);
~CDataSourceControl();
HRESULT Initialize();
virtual IUnknown* GetCursor();
HRESULT GetMetaData();
virtual void BindProp(COleControlSite* pClientSite, BOOL bBind = TRUE);
virtual void BindProp(CDataBoundProperty* pProperty, BOOL bBind = TRUE);
virtual void BindColumns();
BOOL CopyColumnID(DBCOLUMNID* pcidDst, DBCOLUMNID const *pcidSrc);
HRESULT GetBoundClientRow();
virtual HRESULT UpdateControls();
virtual HRESULT UpdateCursor();
COleVariant ToVariant(int nCol);

COleControlSite *m_pClientSite;  // Back ptr to containing site
ICursorMove* m_pCursorMove;
ICursorUpdateARow* m_pCursorUpdateARow;
INT_PTR m_nColumns;
METAROWTYPE* m_pMetaRowData;
CPtrList m_CursorBoundProps;
void* m_pVarData;
INT_PTR m_nBindings;
DBCOLUMNBINDING *m_pColumnBindings;
VARIANT* m_pValues;
BOOL m_bUpdateInProgress;

// OLE/DB stuff
IDataSource*            m_pDataSource;
IRowPosition*           m_pRowPosition;
ATL::CRowset<>*         m_pRowset;
ATL::CDynamicAccessor*  m_pDynamicAccessor;

DWORD m_dwRowsetNotify; // IRowsetNotify cookie
};

/////////////////////////////////////////////////////////////////////////////
// OLE Databinding support class for bound controls

class CDataBoundProperty
{
protected:
CDataBoundProperty() {};
public:
CDataBoundProperty(CDataBoundProperty* pLast, DISPID dispid, WORD ctlid);


~CDataBoundProperty() {};
void SetClientSite(COleControlSite *pClientSite);
void SetDSCSite(COleControlSite *pDSCSite);
void RemoveSource();
void Notify();
IUnknown* GetCursor();
CDataBoundProperty* GetNext();

COleControlSite *m_pClientSite;  // Back ptr to containing site
WORD m_ctlid;
DISPID m_dispid;
COleControlSite *m_pDSCSite;
BOOL m_bOwnXferOut;
BOOL m_bIsDirty;
CDataBoundProperty* m_pNext;
};

#endif // !_AFX_NO_OCC_SUPPORT




vs2005的
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#ifndef _AFX_NO_OCC_SUPPORT

// MFC doesn't use the OLEDB 1.5 features of ATL and it causes
// compile problems, so just make ATL think it's not version 1.5
#if (OLEDBVER >= 0x0150)
#undef OLEDBVER
#define OLEDBVER 0x0100
#endif

#include "atldbcli.h"

class CDataSourceControl;
class CDataBoundProperty;

// CCmdTarget
class COleControlContainer;
class COleControlSite;

class COccManager;
struct _AFX_OCC_DIALOG_INFO;

#define DISPID_DATASOURCE   0x80010001
#define DISPID_DATAFIELD    0x80010002

interface AFX_NOVTABLE IDataSourceListener : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE OnDataMemberChanged(BSTR bstrDM) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDataMemberAdded(BSTR bstrDM) = 0;
virtual HRESULT STDMETHODCALLTYPE OnDataMemberRemoved(BSTR bstrDM) = 0;
};

interface AFX_NOVTABLE IDataSource : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetDataMember(BSTR bstrDM, const GUID __RPC_FAR* riid, IUnknown __RPC_FAR* __RPC_FAR* ppunk) = 0;


virtual HRESULT STDMETHODCALLTYPE GetDataMemberName(long lIndex, BSTR __RPC_FAR *pbstrDM) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDataMemberCount(long __RPC_FAR *plCount) = 0;
virtual HRESULT STDMETHODCALLTYPE AddDataSourceListener(IDataSourceListener __RPC_FAR *pDSL) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveDataSourceListener(IDataSourceListener __RPC_FAR *pDSL) = 0;
};

/////////////////////////////////////////////////////////////////////////////
// OLE Databinding support class for data sources

interface IRowPosition;

class CDataSourceControl
{
private:
CDataSourceControl() {};
public:
struct METAROWTYPE
{
DBCOLUMNID idColumnID;
DWORD dwColumnID;
LPSTR lpstrName;
DWORD dwName;
CPtrList* m_pClientList;
};

CDataSourceControl(COleControlSite *pClientSite);
~CDataSourceControl();
HRESULT Initialize();
virtual IUnknown* GetCursor();
HRESULT GetMetaData();
virtual void BindProp(COleControlSite* pClientSite, BOOL bBind = TRUE);
virtual void BindProp(CDataBoundProperty* pProperty, BOOL bBind = TRUE);
virtual void BindColumns();
BOOL CopyColumnID(DBCOLUMNID* pcidDst, DBCOLUMNID const *pcidSrc);
HRESULT GetBoundClientRow();
virtual HRESULT UpdateControls();
virtual HRESULT UpdateCursor();
COleVariant ToVariant(int nCol);

COleControlSite *m_pClientSite;  // Back ptr to containing site
ICursorMove* m_pCursorMove;
ICursorUpdateARow* m_pCursorUpdateARow;
INT_PTR m_nColumns;
METAROWTYPE* m_pMetaRowData;
CPtrList m_CursorBoundProps;
void* m_pVarData;
INT_PTR m_nBindings;
DBCOLUMNBINDING *m_pColumnBindings;
VARIANT* m_pValues;
BOOL m_bUpdateInProgress;

// OLE/DB stuff
IDataSource*            m_pDataSource;
IRowPosition*           m_pRowPosition;
ATL::CRowset<>*         m_pRowset;
ATL::CDynamicAccessor*  m_pDynamicAccessor;

DWORD m_dwRowsetNotify; // IRowsetNotify cookie
};

/////////////////////////////////////////////////////////////////////////////
// OLE Databinding support class for bound controls



class CDataBoundProperty
{
protected:
CDataBoundProperty() {};
public:
CDataBoundProperty(CDataBoundProperty* pLast, DISPID dispid, WORD ctlid);
~CDataBoundProperty() {};
void SetClientSite(COleControlSite *pClientSite);
void SetDSCSite(COleControlSite *pDSCSite);
void RemoveSource();
void Notify();
IUnknown* GetCursor();
CDataBoundProperty* GetNext();

COleControlSite *m_pClientSite;  // Back ptr to containing site
WORD m_ctlid;
DISPID m_dispid;
COleControlSite *m_pDSCSite;
BOOL m_bOwnXferOut;
BOOL m_bIsDirty;
CDataBoundProperty* m_pNext;
};

#endif // !_AFX_NO_OCC_SUPPORT


[解决办法]
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (C) 1992-1998 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.

#ifndef _AFX_NO_OCC_SUPPORT

#include <oledb.h>
#include "olebind.h"
#include "ocdbid.h"
#include "ocdb.h"

// MFC doesn't use the OLEDB 1.5 features of ATL and it causes
// compile problems, so just make ATL think it's not version 1.5
#if (OLEDBVER >= 0x0150)
#undef OLEDBVER
#define OLEDBVER 0x0100
#endif

#define AtlTrace AfxTrace
#include "atldbcli.h"

class CDataSourceControl;
class CDataBoundProperty;

// CCmdTarget
    class COleControlContainer;
    class COleControlSite;

class COccManager;
struct _AFX_OCC_DIALOG_INFO;

#define DISPID_DATASOURCE   0x80010001
#define DISPID_DATAFIELD    0x80010002

interface AFX_NOVTABLE IDataSourceListener : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE OnDataMemberChanged(BSTR bstrDM) = 0;


    virtual HRESULT STDMETHODCALLTYPE OnDataMemberAdded(BSTR bstrDM) = 0;
    virtual HRESULT STDMETHODCALLTYPE OnDataMemberRemoved(BSTR bstrDM) = 0;
};

interface AFX_NOVTABLE IDataSource : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetDataMember(BSTR bstrDM, const GUID __RPC_FAR* riid, IUnknown __RPC_FAR* __RPC_FAR* ppunk) = 0;
    virtual HRESULT STDMETHODCALLTYPE GetDataMemberName(long lIndex, BSTR __RPC_FAR *pbstrDM) = 0;
    virtual HRESULT STDMETHODCALLTYPE GetDataMemberCount(long __RPC_FAR *plCount) = 0;
    virtual HRESULT STDMETHODCALLTYPE AddDataSourceListener(IDataSourceListener __RPC_FAR *pDSL) = 0;
    virtual HRESULT STDMETHODCALLTYPE RemoveDataSourceListener(IDataSourceListener __RPC_FAR *pDSL) = 0;
};

/////////////////////////////////////////////////////////////////////////////
// OLE Databinding support class for data sources

interface IRowPosition;

class CDataSourceControl
{
private:
CDataSourceControl() {};
public:
struct METAROWTYPE
{
DBCOLUMNID idColumnID;
DWORD dwColumnID;
LPSTR lpstrName;
DWORD dwName;
CPtrList* m_pClientList;
};

CDataSourceControl(COleControlSite *pClientSite);
~CDataSourceControl();
HRESULT Initialize();
virtual IUnknown* GetCursor();
HRESULT GetMetaData();
virtual void BindProp(COleControlSite* pClientSite, BOOL bBind = TRUE);
virtual void BindProp(CDataBoundProperty* pProperty, BOOL bBind = TRUE);
virtual void BindColumns();
BOOL CopyColumnID(DBCOLUMNID* pcidDst, DBCOLUMNID const *pcidSrc);
HRESULT GetBoundClientRow();
virtual HRESULT UpdateControls();
virtual HRESULT UpdateCursor();
COleVariant ToVariant(int nCol);

COleControlSite *m_pClientSite;  // Back ptr to containing site
ICursorMove* m_pCursorMove;
ICursorUpdateARow* m_pCursorUpdateARow;
int m_nColumns;
METAROWTYPE* m_pMetaRowData;
CPtrList m_CursorBoundProps;
void* m_pVarData;
int m_nBindings;
DBCOLUMNBINDING *m_pColumnBindings;
VARIANT* m_pValues;
BOOL m_bUpdateInProgress;



// OLE/DB stuff
IDataSource*            m_pDataSource;
IRowPosition*           m_pRowPosition;
ATL::CRowset*           m_pRowset;
ATL::CDynamicAccessor*  m_pDynamicAccessor;

DWORD m_dwRowsetNotify; // IRowsetNotify cookie
};

/////////////////////////////////////////////////////////////////////////////
// OLE Databinding support class for bound controls

class CDataBoundProperty
{
protected:
CDataBoundProperty() {};
public:
CDataBoundProperty(CDataBoundProperty* pLast, DISPID dispid, WORD ctlid);
~CDataBoundProperty() {};
void SetClientSite(COleControlSite *pClientSite);
void SetDSCSite(COleControlSite *pDSCSite);
void RemoveSource();
void Notify();
IUnknown* GetCursor();
CDataBoundProperty* GetNext();

COleControlSite *m_pClientSite;  // Back ptr to containing site
WORD m_ctlid;
DISPID m_dispid;
COleControlSite *m_pDSCSite;
BOOL m_bOwnXferOut;
BOOL m_bIsDirty;
CDataBoundProperty* m_pNext;
};

/////////////////////////////////////////////////////////////////////////////
// Control containment helper functions

DLGTEMPLATE* _AfxSplitDialogTemplate(const DLGTEMPLATE* pTemplate,
CMapWordToPtr* pOleItemMap);

void _AfxZOrderOleControls(CWnd* pWnd, CMapWordToPtr* pOleItemMap);

/////////////////////////////////////////////////////////////////////////////
// COleControlContainer - implementation class

class COleControlContainer : public CCmdTarget
{
public:
// Constructors/destructors
COleControlContainer(CWnd*  pWnd);
virtual ~COleControlContainer();

// Operations
BOOL CreateControl(CWnd* pWndCtrl, REFCLSID clsid,
LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, UINT nID,
CFile* pPersist=NULL, BOOL bStorage=FALSE, BSTR bstrLicKey=NULL,
COleControlSite** ppNewSite=NULL);
   // Overload to allow creation of default-sized controls
BOOL CreateControl(CWnd* pWndCtrl, REFCLSID clsid,
LPCTSTR lpszWindowName, DWORD dwStyle, const POINT* ppt,
  const SIZE* psize, UINT nID, CFile* pPersist=NULL, BOOL bStorage=FALSE,


  BSTR bstrLicKey=NULL, COleControlSite** ppNewSite=NULL);
virtual COleControlSite* FindItem(UINT nID) const;
virtual BOOL GetAmbientProp(COleControlSite* pSite, DISPID dispid,
VARIANT* pvarResult);
void CreateOleFont(CFont* pFont);
void FreezeAllEvents(BOOL bFreeze);
virtual void ScrollChildren(int dx, int dy);
virtual void OnUIActivate(COleControlSite* pSite);
virtual void OnUIDeactivate(COleControlSite* pSite);

virtual void CheckDlgButton(int nIDButton, UINT nCheck);
virtual void CheckRadioButton(int nIDFirstButton, int nIDLastButton,
int nIDCheckButton);
virtual CWnd* GetDlgItem(int nID) const;
virtual void GetDlgItem(int nID, HWND* phWnd) const;
virtual UINT GetDlgItemInt(int nID, BOOL* lpTrans, BOOL bSigned) const;
virtual int GetDlgItemText(int nID, LPTSTR lpStr, int nMaxCount) const;
virtual LRESULT SendDlgItemMessage(int nID, UINT message, WPARAM wParam,
LPARAM lParam);
virtual void SetDlgItemInt(int nID, UINT nValue, BOOL bSigned);
virtual void SetDlgItemText(int nID, LPCTSTR lpszString);
virtual UINT IsDlgButtonChecked(int nIDButton) const;
#ifndef _AFXDLL
virtual void AttachControlSite(CWnd* pWnd);
#else
void AttachControlSite(CWnd* pWnd);
#endif

// Attributes
CWnd* m_pWnd;
CMapPtrToPtr m_siteMap;
COLORREF m_crBack;
COLORREF m_crFore;
LPFONTDISP m_pOleFont;
COleControlSite* m_pSiteUIActive;

public:
// Interface maps
BEGIN_INTERFACE_PART(OleIPFrame, IOleInPlaceFrame)
INIT_INTERFACE_PART(COleControlContainer, OleIPFrame)
STDMETHOD(GetWindow)(HWND*);
STDMETHOD(ContextSensitiveHelp)(BOOL);
STDMETHOD(GetBorder)(LPRECT);
STDMETHOD(RequestBorderSpace)(LPCBORDERWIDTHS);
STDMETHOD(SetBorderSpace)(LPCBORDERWIDTHS);
STDMETHOD(SetActiveObject)(LPOLEINPLACEACTIVEOBJECT, LPCOLESTR);
STDMETHOD(InsertMenus)(HMENU, LPOLEMENUGROUPWIDTHS);
STDMETHOD(SetMenu)(HMENU, HOLEMENU, HWND);
STDMETHOD(RemoveMenus)(HMENU);
STDMETHOD(SetStatusText)(LPCOLESTR);
STDMETHOD(EnableModeless)(BOOL);
STDMETHOD(TranslateAccelerator)(LPMSG, WORD);
    END_INTERFACE_PART(OleIPFrame)

    BEGIN_INTERFACE_PART(OleContainer, IOleContainer)
        INIT_INTERFACE_PART(COleControlContainer, OleContainer)


        STDMETHOD(ParseDisplayName)(LPBINDCTX, LPOLESTR, ULONG*, LPMONIKER*);
        STDMETHOD(EnumObjects)(DWORD, LPENUMUNKNOWN*);
        STDMETHOD(LockContainer)(BOOL);
    END_INTERFACE_PART(OleContainer)

    DECLARE_INTERFACE_MAP()
    DECLARE_DISPATCH_MAP()
};

//未完待续

热点排行