cdxCSizeIconCtrl.h
上传用户:cbxyz2008
上传日期:2007-01-02
资源大小:45k
文件大小:3k
源码类别:

Static控件

开发平台:

Visual C++

  1. #if !defined(AFX_CDXCSIZEICONCTRL_H__9B4AD1C3_8AA5_11D2_BE9C_000000000000__INCLUDED_)
  2. #define AFX_CDXCSIZEICONCTRL_H__9B4AD1C3_8AA5_11D2_BE9C_000000000000__INCLUDED_
  3. #if _MSC_VER >= 1000
  4. #pragma once
  5. #endif // _MSC_VER >= 1000
  6. // cdxCSizeIconCtrl.h : header file
  7. //
  8. //
  9. // cdxCSizeIconCtrl.h : header file
  10. // -----------------------------------------------------------------------
  11. // Author:  Hans B黨ler (hans.buehler@student.hu-berlin.de)
  12. //          codex design (http://www-pool.mathematik.hu-berlin.de/~codex
  13. // Version: 1.2
  14. // Release: 2 (Jan 1999 to www.codeguru.com)
  15. // -----------------------------------------------------------------------
  16. // Changes for 1.1:
  17. // - cdxCSizeIconCtrl catches left-mb-doubleclick what caused the window
  18. //   to get maximized for any reason. 
  19. // Changes for 1.2:
  20. // - Ability to check parent's state: If it is zoomed, the control won't
  21. //   draw a sizing icon (thanks to //TODO )
  22. // -----------------------------------------------------------------------
  23. // Comments welcome.
  24. //
  25. /*
  26.  * cdxCSizeIconCtrl
  27.  * ================
  28.  * A simple class that is a size-icon.
  29.  *
  30.  * (w)Nov.1998 mailto:hans.buehler@student.hu-berlin.de,
  31.  *    codex design
  32.  */
  33. class cdxCSizeIconCtrl : public CScrollBar
  34. {
  35. DECLARE_DYNAMIC(cdxCSizeIconCtrl);
  36. public:
  37. class AutoOEMImageList : public CImageList
  38. {
  39. private:
  40. CSize m_szImage;
  41. public:
  42. AutoOEMImageList(UINT nBitmapID, COLORREF crMask);
  43. virtual ~AutoOEMImageList() {}
  44. const CSize & Size() const { return m_szImage; }
  45. };
  46. private:
  47. bool m_bCapture;
  48. public:
  49. bool m_bReflectParentState;
  50. public:
  51. cdxCSizeIconCtrl(bool bReflectParentState = true) : m_bCapture(false), m_bReflectParentState(bReflectParentState) {}
  52. virtual ~cdxCSizeIconCtrl() {}
  53. virtual BOOL Create(CWnd *pParent, UINT id = AFX_IDW_SIZE_BOX);
  54. // Operations
  55. public:
  56. // Overrides
  57. // ClassWizard generated virtual function overrides
  58. //{{AFX_VIRTUAL(cdxCSizeIconCtrl)
  59. //}}AFX_VIRTUAL
  60. // Generated message map functions
  61. protected:
  62. //{{AFX_MSG(cdxCSizeIconCtrl)
  63. afx_msg void OnPaint();
  64. afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
  65. afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  66. //}}AFX_MSG
  67. DECLARE_MESSAGE_MAP();
  68. //
  69. // static members
  70. //
  71. public:
  72. static AutoOEMImageList M_ilImage;
  73. static HCURSOR M_hcSize;
  74. };
  75. //{{AFX_INSERT_LOCATION}}
  76. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  77. #endif // !defined(AFX_CDXCSIZEICONCTRL_H__9B4AD1C3_8AA5_11D2_BE9C_000000000000__INCLUDED_)