XTResizeFormView.cpp
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:3k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTResizeFormView.cpp: implementation of the CXTResizeFormView class.
  2. //
  3. // This file is a part of the XTREME CONTROLS MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #include "stdafx.h"
  21. #include "Common/XTPWinThemeWrapper.h"
  22. #include "XTResizeRect.h"
  23. #include "XTResizePoint.h"
  24. #include "XTResize.h"
  25. #include "XTResizeFormView.h"
  26. #ifdef _DEBUG
  27. #undef THIS_FILE
  28. static char THIS_FILE[] = __FILE__;
  29. #define new DEBUG_NEW
  30. #endif
  31. #pragma warning(disable: 4355) // 'this' : used in base member initializer list
  32. /////////////////////////////////////////////////////////////////////////////
  33. // CXTResizeFormView
  34. IMPLEMENT_DYNCREATE(CXTResizeFormView, CFormView)
  35. BEGIN_MESSAGE_MAP(CXTResizeFormView, CFormView)
  36. //{{AFX_MSG_MAP(CXTResizeFormView)
  37. ON_WM_SIZE()
  38. ON_WM_GETMINMAXINFO()
  39. ON_WM_DESTROY()
  40. //}}AFX_MSG_MAP
  41. END_MESSAGE_MAP()
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CXTResizeFormView construction/destruction
  44. CXTResizeFormView::CXTResizeFormView(const UINT nID, const UINT nFlags) :
  45. CFormView(nID),
  46. CXTResize(this, nFlags | xtResizeNoSizeIcon)
  47. {
  48. }
  49. void CXTResizeFormView::OnGetMinMaxInfo(MINMAXINFO* pMMI)
  50. {
  51. // Notice that WM_GETMINMAXINFO must be handled in the parent frame
  52. CXTResize::GetMinMaxInfo(pMMI);
  53. }
  54. void CXTResizeFormView::AjustResizeRect(CSize& szWindow)
  55. {
  56. CSize szMin = m_totalLog;
  57. szWindow.cx = max(szWindow.cx, szMin.cx);
  58. szWindow.cy = max(szWindow.cy, szMin.cy);
  59. }
  60. void CXTResizeFormView::OnSize(UINT nType, int cx, int cy)
  61. {
  62. CFormView::OnSize(nType, cx, cy);
  63. CXTResize::Size();
  64. }
  65. void CXTResizeFormView::OnDestroy()
  66. {
  67. // Save window placement if AutoLoadPlacement was used.
  68. if (!m_strSection.IsEmpty())
  69. {
  70. SavePlacement(m_strSection);
  71. }
  72. CFormView::OnDestroy();
  73. }
  74. LRESULT CXTResizeFormView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
  75. {
  76. LRESULT lRet = CFormView::WindowProc(message, wParam, lParam);
  77. if (message == WM_INITDIALOG)
  78. {
  79. OnInitDialog();
  80. }
  81. return lRet;
  82. }
  83. BOOL CXTResizeFormView::OnInitDialog()
  84. {
  85. CXTResize::Init();
  86. if (!UpdateData(FALSE))
  87. TRACE0("UpdateData failed during CXTResizeFormView::OnInitDialog().n");
  88. return TRUE;
  89. }