home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / common / msdev98 / bin / ide / devgal.pkg / TEMPLATE / 22325 < prev    next >
Text File  |  1998-06-18  |  2KB  |  79 lines

  1. // $$VAL:HeaderFile$$ : header file
  2. //
  3.  
  4. #ifndef $$VAL:WrapHeader$$
  5. #define $$VAL:WrapHeader$$
  6.  
  7. // This class handles an owner-draw combo box.  The combo box in question
  8. // handles color bars instead of text.  It shows all of the required
  9. // features for an owner-draw combo box.  
  10. //
  11. // You can actually handle just about anything you want in an owner-draw 
  12. // combo box as long as you override functions CompareItem, DrawItem, 
  13. // and MeasureItem.  Strings are easiest and don't require all the 
  14. // overrides.  Other examples: bitmaps, text in varying fonts, text in a 
  15. // non-standard font, etc. 
  16. //
  17. // TODO:
  18. //    1.    Create an owner-draw combo box in your resources to use with
  19. //        this class.  You will need to have the following features set
  20. //        on the Styles page for the combo box:
  21. //        - Type: Drop List
  22. //        - Owner-Draw: Variable
  23. //        - Has Strings: Unchecked
  24. //        - Sort: Checked (to show off owner-draw sorting)
  25. //
  26. //    2.    Subclass your owner-draw combo box to associate it with this
  27. //        class.  The following statement placed in your dialog 
  28. //        initialization function (typically OnInitDialog() for MFC
  29. //        applications) for the dialog you used this combo box in should 
  30. //        work fine:
  31. //            m_myDraw.SubclassDlgItem(IDC_MYDRAW, this);
  32. //        where:
  33. //            m_myDraw is an instance of the owner-draw combo box class
  34. //            IDC_MYDRAW is the ID associated with your combo box resource
  35. //
  36. //    3.    Call m_myDraw.LoadList() to initialize the contents of the owner-draw
  37. //        combo box.  Do this immediately after you subclass the combo box
  38. //        control.
  39.  
  40. /////////////////////////////////////////////////////////////////////////////
  41. // $$VAL:ClassName$$ window
  42.  
  43. class $$VAL:ClassName$$ : public CComboBox
  44. {
  45. // Construction
  46. public:
  47.     $$VAL:ClassName$$();
  48.  
  49. // Attributes
  50. public:
  51.  
  52. // Operations
  53. public:
  54.     void AddListItem(COLORREF color);
  55.     void LoadList();
  56.  
  57. // Overrides
  58.     // ClassWizard generated virtual function overrides
  59.     //{{AFX_VIRTUAL($$VAL:ClassName$$)
  60.     public:
  61.     virtual int CompareItem(LPCOMPAREITEMSTRUCT lpCompareItemStruct);
  62.     virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
  63.     virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
  64.     //}}AFX_VIRTUAL
  65.  
  66. // Implementation
  67. public:
  68.     virtual ~$$VAL:ClassName$$();
  69.  
  70.     // Generated message map functions
  71. protected:
  72.     //{{AFX_MSG($$VAL:ClassName$$)
  73.     //}}AFX_MSG
  74.  
  75.     DECLARE_MESSAGE_MAP()
  76. };
  77.  
  78. #endif $$VAL:WrapHeader$$        // include class $$VAL:ClassName$$
  79.