DynDialogItemEx.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. // DynDialogItemEx.h: interface for the CDynDialogItemEx class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_DYNDIALOGITEMEX_H__CF5AF5E9_BD00_11D3_AA7C_0008C7083CA9__INCLUDED_)
  5. #define AFX_DYNDIALOGITEMEX_H__CF5AF5E9_BD00_11D3_AA7C_0008C7083CA9__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. typedef enum {
  10. NOCONTROL = 0,
  11. BUTTON = 0x0080,
  12. EDITCONTROL = 0x0081,
  13. STATICTEXT = 0x0082,
  14. LISTBOX = 0x0083,
  15. HSCROLL = 0x0084,
  16. COMBOBOX = 0x0085,
  17. SPIN,
  18. PROGRES,
  19. SLIDER,
  20. HOTKEY,
  21. LISTCTRL,
  22. TREECTRL,
  23. TABCTRL,
  24. ANIMATE,
  25. RICHEDIT,
  26. DATETIMEPICKER,
  27. MONTHCALENDER,
  28. IPADRESS,
  29. COMBOBOXEX
  30. } DLGITEMTEMPLATECONTROLS;
  31. class CDynDialogItemEx : public CWnd
  32. {
  33. public:
  34. // Construction
  35. CDynDialogItemEx();
  36. // Operations
  37. public:
  38. UINT InitDialogItem(DLGITEMTEMPLATECONTROLS TypeControl,
  39. DWORD dwStyle,
  40. DWORD dwExtendedStyle,
  41. LPRECT pRect,
  42. LPCTSTR lpszCaption,
  43. UINT nID = 0,
  44. BOOL bSubclassed = FALSE,
  45. void *pData = NULL);
  46. UINT InitDialogItem(LPCSTR lpszClassName,
  47. DWORD dwStyle,
  48. DWORD dwExtendedStyle,
  49. LPRECT pRect,
  50. LPCTSTR lpszCaption,
  51. UINT nID = 0,
  52. BOOL bSubclassed = FALSE,
  53. void *pData = NULL);
  54. BOOL CreateEx(CWnd *pParent);
  55. void SetFont(CFont* pFont, BOOL bRedraw = TRUE);
  56. // Operations
  57. public:
  58. virtual void DoDataExchange(CDataExchange* pDX);
  59. // Overrides
  60. // ClassWizard generated virtual function overrides
  61. //{{AFX_VIRTUAL(CDynDialogItemEx)
  62. //}}AFX_VIRTUAL
  63. // Implementation
  64. public:
  65. //virtual ~CDynDialogItemEx();
  66. BOOL SetWindowPos(CWnd *pParent);
  67. PBYTE FillBufferWithItemTemplate(BYTE* pdest);
  68. UINT GetControlID() {return m_ControlID;}
  69. DLGITEMTEMPLATECONTROLS GetControlType() {return m_eTypeControl;}
  70. long GetCaptionLength() {return m_strCaption.GetLength();}
  71. BOOL IsDlgItemSubclassed() {return m_bSubclassed;}
  72. CString GetClassName() {return m_strClassName;}
  73. protected:
  74. DLGITEMTEMPLATECONTROLS GetClassTypeByName(LPCSTR lpszClassName);
  75. CString m_strClassName;
  76. DLGITEMTEMPLATECONTROLS m_eTypeControl;
  77. UINT m_ControlID;
  78. UINT m_dwStyle;
  79. UINT m_dwStyleEx;
  80. CRect m_Rect;
  81. CString m_strCaption;
  82. void *m_pData;
  83. BOOL m_bSubclassed;
  84. // Generated message map functions
  85. protected:
  86. BOOL IsDataMemberPointerToWnd();
  87. BSTR GetRuntimeLicense(CString &strControlName);
  88. char* GetClassNameByType(DLGITEMTEMPLATECONTROLS TypeControl);
  89. //{{AFX_MSG(CDynDialogItemEx)
  90. // NOTE - the ClassWizard will add and remove member functions here.
  91. //}}AFX_MSG
  92. DECLARE_MESSAGE_MAP()
  93. };
  94. #endif // !defined(AFX_DYNDIALOGITEMEX_H__CF5AF5E9_BD00_11D3_AA7C_0008C7083CA9__INCLUDED_)