ResizableMinMax.cpp
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:2k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. // ResizableMinMax.cpp: implementation of the CResizableMinMax class.
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. //
  5. // Copyright (C) 2000-2002 by Paolo Messina
  6. // (http://www.geocities.com/ppescher - ppescher@yahoo.com)
  7. //
  8. // The contents of this file are subject to the Artistic License (the "License").
  9. // You may not use this file except in compliance with the License. 
  10. // You may obtain a copy of the License at:
  11. // http://www.opensource.org/licenses/artistic-license.html
  12. //
  13. // If you find this code useful, credits would be nice!
  14. //
  15. /////////////////////////////////////////////////////////////////////////////
  16. #include "stdafx.h"
  17. #include "ResizableMinMax.h"
  18. #ifdef _DEBUG
  19. #undef THIS_FILE
  20. static char THIS_FILE[]=__FILE__;
  21. #define new DEBUG_NEW
  22. #endif
  23. //////////////////////////////////////////////////////////////////////
  24. // Construction/Destruction
  25. //////////////////////////////////////////////////////////////////////
  26. CResizableMinMax::CResizableMinMax()
  27. {
  28. m_bUseMinTrack = FALSE;
  29. m_bUseMaxTrack = FALSE;
  30. m_bUseMaxRect = FALSE;
  31. }
  32. CResizableMinMax::~CResizableMinMax()
  33. {
  34. }
  35. void CResizableMinMax::MinMaxInfo(LPMINMAXINFO lpMMI)
  36. {
  37. if (m_bUseMinTrack)
  38. lpMMI->ptMinTrackSize = m_ptMinTrackSize;
  39. if (m_bUseMaxTrack)
  40. lpMMI->ptMaxTrackSize = m_ptMaxTrackSize;
  41. if (m_bUseMaxRect)
  42. {
  43. lpMMI->ptMaxPosition = m_ptMaxPos;
  44. lpMMI->ptMaxSize = m_ptMaxSize;
  45. }
  46. }
  47. void CResizableMinMax::SetMaximizedRect(const CRect& rc)
  48. {
  49. m_bUseMaxRect = TRUE;
  50. m_ptMaxPos = rc.TopLeft();
  51. m_ptMaxSize.x = rc.Width();
  52. m_ptMaxSize.y = rc.Height();
  53. }
  54. void CResizableMinMax::ResetMaximizedRect()
  55. {
  56. m_bUseMaxRect = FALSE;
  57. }
  58. void CResizableMinMax::SetMinTrackSize(const CSize& size)
  59. {
  60. m_bUseMinTrack = TRUE;
  61. m_ptMinTrackSize.x = size.cx;
  62. m_ptMinTrackSize.y = size.cy;
  63. }
  64. void CResizableMinMax::ResetMinTrackSize()
  65. {
  66. m_bUseMinTrack = FALSE;
  67. }
  68. void CResizableMinMax::SetMaxTrackSize(const CSize& size)
  69. {
  70. m_bUseMaxTrack = TRUE;
  71. m_ptMaxTrackSize.x = size.cx;
  72. m_ptMaxTrackSize.y = size.cy;
  73. }
  74. void CResizableMinMax::ResetMaxTrackSize()
  75. {
  76. m_bUseMaxTrack = FALSE;
  77. }