PALCTL.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:2k
源码类别:

Windows编程

开发平台:

Visual C++

  1. // palctl.h : Declaration of the CPalCtrl OLE control class.
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. /////////////////////////////////////////////////////////////////////////////
  13. // Error codes
  14. #define PAL_E_CANTRESIZEPALETTE CUSTOM_CTL_SCODE(32002) // Can't resize palette
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CPalCtrl : See palctl.cpp for implementation.
  17. class CPalCtrl : public COleControl
  18. {
  19. DECLARE_DYNCREATE(CPalCtrl)
  20. // Constructor
  21. public:
  22. CPalCtrl();
  23. // Overrides
  24. // Drawing function
  25. virtual void OnDraw(
  26. CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
  27. // Persistence
  28. virtual void DoPropExchange(CPropExchange* pPX);
  29. // Reset control state
  30. virtual void OnResetState();
  31. // Serialization
  32. virtual void Serialize(CArchive& ar);
  33. BOOL OnMapPropertyToPage(DISPID dispid, LPCLSID lpclsid, BOOL* pbPageOptional);
  34. // Implementation
  35. protected:
  36. ~CPalCtrl();
  37. DECLARE_OLECREATE_EX(CPalCtrl)  // Class factory and guid
  38. DECLARE_OLETYPELIB(CPalCtrl)        // GetTypeInfo
  39. DECLARE_PROPPAGEIDS(CPalCtrl)       // Property page IDs
  40. DECLARE_OLECTLTYPE(CPalCtrl)        // Type name and misc status
  41. // Message maps
  42. //{{AFX_MSG(CPalCtrl)
  43. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  44. //}}AFX_MSG
  45. DECLARE_MESSAGE_MAP()
  46. // Dispatch maps
  47. //{{AFX_DISPATCH(CPalCtrl)
  48. afx_msg short GetLength();
  49. afx_msg void SetLength(short nNewValue);
  50. afx_msg OLE_HANDLE GetHandle();
  51. afx_msg LPPICTUREDISP GetPicture();
  52. afx_msg void SetPicture(LPPICTUREDISP newValue);
  53. afx_msg OLE_COLOR GetEntry(short nIndex);
  54. afx_msg void SetEntry(short nIndex, OLE_COLOR newValue);
  55. //}}AFX_DISPATCH
  56. DECLARE_DISPATCH_MAP()
  57. afx_msg void AboutBox();
  58. // Event maps
  59. //{{AFX_EVENT(CPalCtrl)
  60. //}}AFX_EVENT
  61. DECLARE_EVENT_MAP()
  62. // Dispatch and event IDs
  63. public:
  64. enum {
  65. //{{AFX_DISP_ID(CPalCtrl)
  66. dispidLength = 1L,
  67. dispidHandle = 2L,
  68. dispidPicture = 3L,
  69. dispidEntry = 4L,
  70. //}}AFX_DISP_ID
  71. };
  72. // Data Members
  73. CPalette *m_iPalette;
  74. };