ComboBoxXP.h
上传用户:ckg1000
上传日期:2013-01-26
资源大小:630k
文件大小:2k
源码类别:

CAD

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. // ComboBoxXP.h
  4. //
  5. ///////////////////////////////////////////////////////////////////////////////
  6. #pragma once
  7. #include "Tools.h"
  8. class CComboBoxXP;
  9. ///////////////////////////////////////////////////////////////////////////////
  10. class CComboEditXP : public CEdit
  11. {
  12. public:
  13.     CComboBoxXP& GetComboBox ();
  14. // Overrides
  15.     // ClassWizard generated virtual function overrides
  16.     //{{AFX_VIRTUAL(CComboEditXP)
  17.     public:
  18.     //}}AFX_VIRTUAL
  19. protected:
  20.     //{{AFX_MSG(CComboEditXP)
  21.     afx_msg void OnKillFocus(CWnd* pNewWnd);
  22.     afx_msg void OnMouseMove(UINT, CPoint);
  23.     afx_msg void OnMouseOut();
  24.     //}}AFX_MSG
  25.     DECLARE_MESSAGE_MAP()
  26. };
  27. ///////////////////////////////////////////////////////////////////////////////
  28. class CComboBoxXP : public CComboBox
  29. {
  30. public:
  31.     CComboBoxXP ();
  32. // Operations
  33. public:
  34.     BOOL Create (DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
  35.     // Not implemented !!!
  36.     void SetVisibleLines (int nLines);
  37. // Implementation
  38. protected:
  39.     int m_nVisibleLines;
  40.     int m_nDefaultHeight;
  41.     int m_nEditHeight;
  42.     CComboEditXP m_Edit;
  43.     CMouseMgr m_MouseMgr;
  44. // Overrides
  45.     // ClassWizard generated virtual function overrides
  46.     //{{AFX_VIRTUAL(CComboBoxXP)
  47.     public:
  48.     virtual void PreSubclassWindow();
  49.     virtual BOOL PreTranslateMessage(MSG* pMsg);
  50.     //}}AFX_VIRTUAL
  51. protected:
  52.     //{{AFX_MSG(CComboBoxXP)
  53.     afx_msg UINT OnGetDlgCode();
  54.     afx_msg void OnWindowPosChanging(WINDOWPOS*);
  55.     afx_msg void OnWindowPosChanged(WINDOWPOS*);
  56.     afx_msg void OnPaint();
  57.     afx_msg void OnSetFocus(CWnd* pOldWnd);
  58.     afx_msg void OnKillFocus(CWnd* pNewWnd);
  59.     afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  60.     afx_msg void OnMouseOut();
  61.     //}}AFX_MSG
  62.     DECLARE_MESSAGE_MAP()
  63. friend CComboEditXP;
  64. };
  65. ///////////////////////////////////////////////////////////////////////////////
  66. inline CComboBoxXP& CComboEditXP::GetComboBox ()
  67. {
  68.     return *((CComboBoxXP*)GetParent());
  69. }
  70. //{{AFX_INSERT_LOCATION}}
  71. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.