MultiColumnComboBox.h
上传用户:hzw123hzw
上传日期:2007-01-01
资源大小:18k
文件大小:2k
源码类别:

组合框控件

开发平台:

Visual C++

  1. // By Xiao Wu Guang
  2. // MultiColumnComboBox.h : header file
  3. //
  4. /////////////////////////////////////////////////////////////////////////////
  5. // CMultiColumnComboBox window
  6. #ifndef _MULTICOLUMNCOMBOBOX_H_
  7. #define _MULTICOLUMNCOMBOBOX_H_
  8.  
  9. #define LEFTMARGIN_OF_DROPDOWNLIST 2
  10. #define LEFTMARGIN_OF_CONTROL 1
  11. #define RIGHTMARGIN_OF_DROPDOWNLIST 4 
  12. #define SPACE_BETWEEN_COLUMN 1 
  13. class CMultiColumnComboBox : public CComboBox
  14. {
  15. // Construction
  16. public:
  17. CMultiColumnComboBox();
  18. // Attributes
  19. public:
  20. void FormatComboBox(UINT TotalColumn = 2, UINT BoundColumn = 0);
  21. void SetColumnWidth(UINT ColumnWidth0, ...);
  22. void SetColumnAlignStyle(UINT ColumnAlignStyle0, ...);
  23. // Operations
  24. public:
  25. void ResetContent();
  26. int AddRow(LPCTSTR lpszString0, ...);
  27. // Overrides
  28. // ClassWizard generated virtual function overrides
  29. //{{AFX_VIRTUAL(CMultiColumnComboBox)
  30. public:
  31. virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  32. virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  33. //}}AFX_VIRTUAL
  34. // Implementation
  35. public:
  36. virtual ~CMultiColumnComboBox();
  37. // Generated message map functions
  38. protected:
  39. private:
  40. UINT m_TotalColumn;
  41. UINT m_BoundColumn;
  42. UINT m_TextItemHeight;
  43. CPen m_LightGrayPen;
  44. UINT* m_ColumnWidth;
  45. UINT* m_ColumnAlignStyle;
  46. CStringList* m_ColumnItemList;
  47. //{{AFX_MSG(CMultiColumnComboBox)
  48. //}}AFX_MSG
  49. DECLARE_MESSAGE_MAP()
  50. };
  51. /////////////////////////////////////////////////////////////////////////////
  52. #endif