DlgItemTemplate.h
上传用户:kj0090
上传日期:2007-03-02
资源大小:39k
文件大小:4k
源码类别:

xml/soap/webservice

开发平台:

C/C++

  1. /***********************************************************************
  2. *
  3. * This module is part of the XMLGUI system 
  4. *
  5. * File name:       DlgItemTemplate.h
  6. *
  7. * Creation date:   [12 AUGUST 2002] 
  8. *
  9. * Author(s):       [Kolosenko Ruslan]
  10. *
  11. * Description:     Declares the CDlgItemTemplate class
  12. *
  13. **********************************************************************/
  14. #ifndef AFX_DLGITEMTEMPLATE_H_RKOL_8_12_2002_
  15. #define AFX_DLGITEMTEMPLATE_H_RKOL_8_12_2002_
  16. #if _MSC_VER > 1000
  17. #pragma once
  18. #endif // _MSC_VER > 1000
  19. #include "XMLGUIMacro.h"
  20. class XMLGUI_EXT_CLASS CDlgItemTemplate  
  21. {
  22. public:
  23. CDlgItemTemplate();
  24. virtual ~CDlgItemTemplate();
  25.        // control's data ( public access )
  26.     DWORD    style;            // style of the control's window
  27.     DWORD    dwExtendedStyle;  // ex.style of the control's window
  28.     
  29.        // all sizes below are in dialog units
  30.     short    x;                // left border of the control's window
  31.     short    y;                // top border of the control's window
  32.     short    cx;               // width of the control's window
  33.     short    cy;               // height of the control's window
  34.     WORD     id;               // ID of the control
  35. protected:
  36.        // control's data ( protected access )
  37.     _bstr_t  m_strWndClass;        // window class for the control can be specified either
  38.     WORD     m_nWndClassOrdinal;   // by name or by ordinal number
  39.     _bstr_t  m_strTitle;           // text in the control's window, in some cases
  40.     WORD     m_nRCOrdinal;         // the meaning of the text is the name of another
  41.        // resource ( e.g. name of the icon ). In these cases this value may be specified
  42.        // by the ordinal indicating resource ID rather than name string.
  43.     BOOL     m_bIsActiveX;     // TRUE if control represents an OLE control
  44.     LPDLGITEMTEMPLATE   m_pWinTemplate;  // pointer to generated DLGITEMTEMPLATE structure
  45.     LPVOID              m_pInitData;     // pointer to the allocated memory with init data
  46.                      // for OLE controls and other controls that require init data section
  47. public:
  48.        // retrieving and setting protected control's data members1
  49.     CString  GetWndClass()                  // get control's window class
  50.            { return (LPCTSTR)m_strWndClass; }
  51.     void     SetWndClass(LPCTSTR szClass)   // set control's window class
  52.            { m_strWndClass = szClass; m_nWndClassOrdinal = 0; }
  53.     void     SetWndClass(const _bstr_t& strClass)
  54.            { m_strWndClass = strClass; m_nWndClassOrdinal = 0; }
  55.     WORD     GetWndClassOrdinal()          // get control's window class ordinal
  56.            { return m_nWndClassOrdinal; }
  57.     void     SetWndClassOrdinal(WORD nID)  // set control's window class ordinal
  58.            { m_nWndClassOrdinal = nID; m_strWndClass = _T(""); }
  59.     CString  GetTitle()                     // get control's window text
  60.            { return (LPCTSTR)m_strTitle; }
  61.     void     SetTitle(LPCTSTR szTitle)      // set control's window text
  62.            { m_strTitle = szTitle; m_nRCOrdinal = 0; }
  63.     void     SetTitle(const _bstr_t& strTitle)
  64.            { m_strTitle = strTitle; m_nRCOrdinal = 0; }
  65.     WORD     GetRCOrdinal()                // get control's resource ID ordinal
  66.            { return m_nRCOrdinal; }
  67.     void     SetRCOrdinal(WORD nID)        // set control's resource ID ordinal
  68.            { m_nRCOrdinal = nID; m_strTitle = _T(""); }
  69.        // general dlgitemtemplate's operations with public access
  70.     BOOL     SerializeFrom(IXMLElement* pXMLTag); // create dialog item template
  71.                                                   // given a pointer to XML element
  72.     operator LPDLGITEMTEMPLATE();   // create and return Win32 DLGITEMTEMPLATE structure
  73.     UINT Length();  // return length in bytes of the resulting DLGITEMTEMPLATE structure
  74.     LPVOID GetInitData();   // create and return init data section for the control
  75.     UINT InitDataLength();  // return length in bytes of the control's init data section
  76.     UINT FillBuffer(LPVOID lpStructBuffer);   // fill already allocated memory with
  77.              // DLGITEMTEMPLATE structure, introduced for fast DLGTEMPLATE building
  78.     UINT FillInitDataBuffer(LPVOID lpInitDataBuffer);   // fill already allocated memory
  79.              // with init data section for the control
  80.     void Invalidate();  // invalidate previously built DLGITEMTEMPLATE structure,
  81.                         // free the allocated memory
  82. };
  83. #endif // AFX_DLGITEMTEMPLATE_H_RKOL_8_12_2002_