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

PropertySheet

开发平台:

Visual C++

  1. #if !defined(AFX_DLGITEMRESIZER_H__C1E23966_0DD5_11D3_8745_00105A48D360__INCLUDED_)
  2. #define AFX_DLGITEMRESIZER_H__C1E23966_0DD5_11D3_8745_00105A48D360__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. const UINT RESIZE_LOCKLEFT        = 0x0001; // Distance to left is fixed
  7. const UINT RESIZE_LOCKRIGHT       = 0x0002; // Distance to right is fixed
  8. const UINT RESIZE_LOCKTOP         = 0x0004; // Distance to top is fixed
  9. const UINT RESIZE_LOCKBOTTOM      = 0x0008; // Distance to bottom is fixed
  10. const UINT RESIZE_SHOWHIDE        = 0x0010; // Show/hide if not fully visible
  11. const UINT RESIZE_LOCKALL         = RESIZE_LOCKLEFT|RESIZE_LOCKRIGHT|RESIZE_LOCKTOP|RESIZE_LOCKBOTTOM;
  12. const UINT RESIZE_LOCKTOPLEFT     = RESIZE_LOCKLEFT|RESIZE_LOCKTOP;
  13. const UINT RESIZE_LOCKBOTTOMRIGHT = RESIZE_LOCKBOTTOM|RESIZE_LOCKRIGHT;
  14. class CDlgItemResizer {
  15. public:
  16. CDlgItemResizer();
  17. virtual ~CDlgItemResizer();
  18. // Adds a control to the resize list
  19. void Add(CWnd *pControl, UINT uFlags);
  20. void Add(CWnd *pWnd, INT nCtrlID, UINT uFlags)
  21. { Add(pWnd->GetDlgItem(nCtrlID), uFlags); }
  22. // Resizes the controls in the form
  23. void Resize(CFormView *pWnd);
  24. // Resizes the controls in the window
  25. void Resize(CWnd *pWnd);
  26. // Sets the original size of the parent
  27. void SetInitialSize(INT cx, INT cy)
  28. { m_szInitial = CSize(cx, cy); }
  29. // Sets the original size of the parent
  30. void SetInitialSize(const CSize &size)
  31. { m_szInitial = size; }
  32. // Returns the initial size
  33. CSize GetInitialSize() const
  34. { return m_szInitial; }
  35. protected:
  36. CPtrArray m_Controls;
  37. CSize m_szInitial;
  38. };
  39. #endif