?? afxctl.h
字號(hào):
BOOL CreateFromBitmap(UINT idResource);
BOOL CreateFromBitmap(CBitmap* pBitmap, CPalette* pPal = NULL,
BOOL bTransferOwnership = TRUE);
BOOL CreateFromBitmap(HBITMAP hbm, HPALETTE hpal = NULL,
BOOL bTransferOwnership = FALSE);
BOOL CreateFromMetafile(HMETAFILE hmf, int xExt, int yExt,
BOOL bTransferOwnership = FALSE);
BOOL CreateFromIcon(UINT idResource);
BOOL CreateFromIcon(HICON hIcon, BOOL bTransferOwnership = FALSE);
short GetType();
BOOL GetDisplayString(CString& strValue);
LPPICTUREDISP GetPictureDispatch();
void SetPictureDispatch(LPPICTUREDISP pDisp);
void Render(CDC* pDC, const CRect& rcRender, const CRect& rcWBounds);
// Implementation
public:
~CPictureHolder();
};
/////////////////////////////////////////////////////////////////////////////
// CDataPathProperty - Asynchonous properties for OLE Controls
class CDataPathProperty: public CAsyncMonikerFile
{
DECLARE_DYNAMIC(CDataPathProperty)
// Constructors
public:
CDataPathProperty(COleControl* pControl = NULL);
CDataPathProperty(LPCTSTR lpszPath, COleControl* pControl = NULL);
// Calls SetPath(pControl) and SetPath(lpszPath) as appropriate.
// Attributes
public:
void SetPath(LPCTSTR lpszPath);
// Sets the path to be opened by Open(COleControl*) and Open()
// lpszPath may be NULL.
CString GetPath() const;
// Returns the current path setting. Result may be empty.
COleControl* GetControl();
// Returns a Pointer to the control. Result may be NULL.
void SetControl(COleControl* pControl);
// Sets the control which will be used with Open. pControl may be NULL.
// Operations
public:
// Overloads of Open takings some or all of: a path, a control,
// and a CFileException
// Overloads taking a COleControl call SetControl(pControl)
// Overloads taking an LPCTSTR cal SetPath(lpszPath)
virtual BOOL Open(COleControl* pControl, CFileException* pError = NULL);
virtual BOOL Open(LPCTSTR lpszPath, COleControl* pControl,
CFileException* pError = NULL);
virtual BOOL Open(LPCTSTR lpszPath, CFileException* pError = NULL);
virtual BOOL Open(CFileException* pError = NULL);
// Attempts to obtain an IBindHost* from the control returned by
// GetControl(). Calls CAsyncMonikerFile::Open with the path returned by
// GetPath() and, if it was obtained, the IBindHost*.
// Returns TRUE if successful.
// Overridables
public:
virtual void ResetData();
// Derived classes should overide this.
// Implementation
public:
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
private:
COleControl* m_pControl;
CString m_strPath;
};
/////////////////////////////////////////////////////////////////////////////
// CCachedDataPathProperty - Cached asynchonous properties for OLE Controls
class CCachedDataPathProperty : public CDataPathProperty
{
DECLARE_DYNAMIC(CCachedDataPathProperty)
//Constructors
public:
CCachedDataPathProperty(COleControl* pControl = NULL);
CCachedDataPathProperty(LPCTSTR lpszPath, COleControl* pControl = NULL);
// Attributes
public:
CMemFile m_Cache;
// Implementation
public:
virtual void OnDataAvailable(DWORD dwSize, DWORD bscfFlag);
virtual void Close();
virtual void ResetData();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
};
/////////////////////////////////////////////////////////////////////////////
// COleControl - base class for a control implemented in C++ with MFC
struct _AFXCTL_ADVISE_INFO; // implementation class
struct _AFXCTL_UIACTIVE_INFO; // implementation class
class CControlRectTracker : public CRectTracker
{
// Implementation
public:
CControlRectTracker(LPCRECT lpSrcRect, UINT nStyle)
: CRectTracker(lpSrcRect, nStyle) { }
CRect m_rectClip; // saves the original clipping rectangle
};
#ifdef _AFXDLL
class COleControl : public CWnd
#else
class AFX_NOVTABLE COleControl : public CWnd
#endif
{
DECLARE_DYNAMIC(COleControl)
// Constructors
public:
COleControl();
// Operations
// Initialization
void SetInitialSize(int cx, int cy);
void InitializeIIDs(const IID* piidPrimary, const IID* piidEvents);
// Invalidating
void InvalidateControl(LPCRECT lpRect = NULL, BOOL bErase = TRUE);
// Modified flag
BOOL IsModified();
void SetModifiedFlag(BOOL bModified = TRUE);
// Drawing operations
void DoSuperclassPaint(CDC* pDC, const CRect& rcBounds);
BOOL IsOptimizedDraw();
// Property exchange
BOOL ExchangeVersion(CPropExchange* pPX, DWORD dwVersionDefault,
BOOL bConvert = TRUE);
BOOL ExchangeExtent(CPropExchange* pPX);
void ExchangeStockProps(CPropExchange* pPX);
BOOL IsConvertingVBX();
DWORD SerializeVersion(CArchive& ar, DWORD dwVersionDefault,
BOOL bConvert = TRUE);
void SerializeExtent(CArchive& ar);
void SerializeStockProps(CArchive& ar);
void ResetVersion(DWORD dwVersionDefault);
void ResetStockProps();
// Stock methods
void Refresh();
void DoClick();
// Stock properties
short GetAppearance();
void SetAppearance(short);
OLE_COLOR GetBackColor();
void SetBackColor(OLE_COLOR);
short GetBorderStyle();
void SetBorderStyle(short);
BOOL GetEnabled();
void SetEnabled(BOOL);
CFontHolder& InternalGetFont();
LPFONTDISP GetFont();
void SetFont(LPFONTDISP);
OLE_COLOR GetForeColor();
void SetForeColor(OLE_COLOR);
OLE_HANDLE GetHwnd();
const CString& InternalGetText();
BSTR GetText();
void SetText(LPCTSTR);
long GetReadyState();
void InternalSetReadyState(long lNewReadyState);
// Using colors
COLORREF TranslateColor(OLE_COLOR clrColor, HPALETTE hpal = NULL);
// Using fonts
CFont* SelectStockFont(CDC* pDC);
CFont* SelectFontObject(CDC* pDC, CFontHolder& fontHolder);
void GetStockTextMetrics(LPTEXTMETRIC lptm);
void GetFontTextMetrics(LPTEXTMETRIC lptm, CFontHolder& fontHolder);
// Client site access
LPOLECLIENTSITE GetClientSite();
// Generic ambient property access
BOOL GetAmbientProperty(DISPID dispid, VARTYPE vtProp, void* pvProp);
BOOL WillAmbientsBeValidDuringLoad();
// Specific ambient properties
short AmbientAppearance();
OLE_COLOR AmbientBackColor();
CString AmbientDisplayName();
LPFONTDISP AmbientFont();
OLE_COLOR AmbientForeColor();
LCID AmbientLocaleID();
CString AmbientScaleUnits();
short AmbientTextAlign();
BOOL AmbientUserMode();
BOOL AmbientUIDead();
BOOL AmbientShowGrabHandles();
BOOL AmbientShowHatching();
// Firing events
void AFX_CDECL FireEvent(DISPID dispid, BYTE* pbParams, ...);
// Firing functions for stock events
void FireKeyDown(USHORT* pnChar, short nShiftState);
void FireKeyUp(USHORT* pnChar, short nShiftState);
void FireKeyPress(USHORT* pnChar);
void FireMouseDown(short nButton, short nShiftState,
OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
void FireMouseUp(short nButton, short nShiftState,
OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
void FireMouseMove(short nButton, short nShiftState,
OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
void FireClick();
void FireDblClick();
void FireError(SCODE scode, LPCTSTR lpszDescription, UINT nHelpID = 0);
void FireReadyStateChange();
// Changing size and/or rectangle
BOOL GetRectInContainer(LPRECT lpRect);
BOOL SetRectInContainer(LPCRECT lpRect);
void GetControlSize(int* pcx, int* pcy);
BOOL SetControlSize(int cx, int cy);
// Window management
void RecreateControlWindow();
// Modal dialog operations
void PreModalDialog(HWND hWndParent = NULL);
void PostModalDialog(HWND hWndParent = NULL);
// Data binding operations
void BoundPropertyChanged(DISPID dispid);
BOOL BoundPropertyRequestEdit(DISPID dispid);
// Dispatch exceptions
void ThrowError(SCODE sc, UINT nDescriptionID, UINT nHelpID = -1);
void ThrowError(SCODE sc, LPCTSTR pszDescription = NULL, UINT nHelpID = 0);
void GetNotSupported();
void SetNotSupported();
void SetNotPermitted();
// Communication with the control site
void ControlInfoChanged();
BOOL LockInPlaceActive(BOOL bLock);
LPDISPATCH GetExtendedControl();
void TransformCoords(POINTL* lpptlHimetric,
POINTF* lpptfContainer, DWORD flags);
// Simple frame
void EnableSimpleFrame();
// Windowless operations
CWnd* SetCapture();
BOOL ReleaseCapture();
CWnd* GetCapture();
CWnd* SetFocus();
CWnd* GetFocus();
CDC* GetDC(LPCRECT lprcRect = NULL, DWORD dwFlags = OLEDC_PAINTBKGND);
int ReleaseDC(CDC* pDC);
void InvalidateRgn(CRgn* pRgn, BOOL bErase = TRUE);
void ScrollWindow(int xAmount, int yAmount, LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
BOOL ClipCaretRect(LPRECT lpRect);
virtual void GetClientRect(LPRECT lpRect) const;
// Overridables
virtual void DoPropExchange(CPropExchange* pPX);
virtual void OnResetState();
virtual void OnDraw(
CDC* pDC, const CRect& rcBounds, const CRect& rcInvalid);
virtual void OnDrawMetafile(CDC* pDC, const CRect& rcBounds);
// Class ID (implemented by IMPLEMENT_OLECREATE_EX macro)
virtual HRESULT GetClassID(LPCLSID pclsid) = 0;
// For customizing the default messages on the status bar
virtual void GetMessageString(UINT nID, CString& rMessage) const;
// Display of error events to user
virtual void DisplayError(SCODE scode, LPCTSTR lpszDescription,
LPCTSTR lpszSource, LPCTSTR lpszHelpFile, UINT nHelpID);
// IOleObject notifications
virtual void OnSetClientSite();
virtual BOOL OnSetExtent(LPSIZEL lpSizeL);
virtual void OnClose(DWORD dwSaveOption);
// IOleInPlaceObject notifications
virtual BOOL OnSetObjectRects(LPCRECT lpRectPos, LPCRECT lpRectClip);
// Event connection point notifications
virtual void OnEventAdvise(BOOL bAdvise);
// Override to hook firing of Click event
virtual void OnClick(USHORT iButton);
// Override to get character after key events have been processed.
virtual void OnKeyDownEvent(USHORT nChar, USHORT nShiftState);
virtual void OnKeyUpEvent(USHORT nChar, USHORT nShiftState);
virtual void OnKeyPressEvent(USHORT nChar);
// Change notifications
virtual void OnAppearanceChanged();
virtual void OnBackColorChanged();
virtual void OnBorderStyleChanged();
virtual void OnEnabledChanged();
virtual void OnTextChanged();
virtual void OnFontChanged();
virtual void OnForeColorChanged();
// IOleControl notifications
virtual void OnGetControlInfo(LPCONTROLINFO pControlInfo);
virtual void OnMnemonic(LPMSG pMsg);
virtual void OnAmbientPropertyChange(DISPID dispid);
virtual void OnFreezeEvents(BOOL bFreeze);
// In-place activation
virtual HMENU OnGetInPlaceMenu();
virtual void OnShowToolBars();
virtual void OnHideToolBars();
// IViewObject
virtual BOOL OnGetColorSet(DVTARGETDEVICE* ptd, HDC hicTargetDev,
LPLOGPALETTE* ppColorSet);
virtual BOOL OnGetViewExtent(DWORD dwDrawAspect, LONG lindex,
DVTARGETDEVICE* ptd, LPSIZEL lpsizel);
virtual BOOL OnGetViewRect(DWORD dwAspect, LPRECTL pRect);
virtual DWORD OnGetViewStatus();
virtual BOOL OnQueryHitPoint(DWORD dwAspect, LPCRECT pRectBounds,
POINT ptlLoc, LONG lCloseHint, DWORD* pHitResult);
virtual BOOL OnQueryHitRect(DWORD dwAspect, LPCRECT pRectBounds,
LPCRECT prcLoc, LONG lCloseHint, DWORD* pHitResult);
virtual BOOL OnGetNaturalExtent(DWORD dwAspect, LONG lindex,
DVTARGETDEVICE* ptd, HDC hicTargetDev, DVEXTENTINFO* pExtentInfo,
LPSIZEL psizel);
// IDataObject - see COleDataSource for a description of these overridables
virtual BOOL OnRenderGlobalData(LPFORMATETC lpFormatEtc, HGLOBAL* phGlobal);
virtual BOOL OnRenderFileData(LPFORMATETC lpFormatEtc, CFile* pFile);
virtual BOOL OnRenderData(LPFORMATETC lpFormatEtc, LPSTGMEDIUM lpStgMedium);
virtual BOOL OnSetData(LPFORMATETC lpFormatEtc, LPSTGMEDIUM lpStgMedium,
BOOL bRelease);
// Verbs
virtual BOOL OnEnumVerbs(LPENUMOLEVERB* ppenumOleVerb);
virtual BOOL OnDoVerb(LONG iVerb, LPMSG lpMsg, HWND hWndParent, LPCRECT lpRect);
virtual BOOL OnEdit(LPMSG lpMsg, HWND hWndParent, LPCRECT lpRect);
virtual BOOL OnProperties(LPMSG lpMsg, HWND hWndParent, LPCRECT lpRect);
// IPerPropertyBrowsing overrides
virtual BOOL OnGetDisplayString(DISPID dispid, CString& strValue);
virtual BOOL OnMapPropertyToPage(DISPID dispid, LPCLSID lpclsid,
BOOL* pbPageOptional);
virtual BOOL OnGetPredefinedStrings(DISPID dispid,
CStringArray* pStringArray, CDWordArray* pCookieArray);
virtual BOOL OnGetPredefinedValue(DISPID dispid, DWORD dwCookie,
VARIANT* lpvarOut);
// Subclassing
virtual BOOL IsSubclassedControl();
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -