MainFrm.cpp
上传用户:qdhmjx
上传日期:2022-07-11
资源大小:2226k
文件大小:3k
源码类别:

书籍源码

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "ex510.h"
  5. #include "MainFrm.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CMainFrame
  13. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  14. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  15. //{{AFX_MSG_MAP(CMainFrame)
  16. ON_WM_CREATE()
  17. ON_WM_TIMER()
  18. //}}AFX_MSG_MAP
  19. END_MESSAGE_MAP()
  20. static UINT indicators[] =
  21. {
  22. ID_SEPARATOR,           // status line indicator
  23. ID_INDICATOR_CAPS,
  24. ID_INDICATOR_NUM,
  25. ID_INDICATOR_SCRL,
  26. };
  27. /////////////////////////////////////////////////////////////////////////////
  28. // CMainFrame construction/destruction
  29. CMainFrame::CMainFrame()
  30. {
  31. // TODO: add member initialization code here
  32. x1=x2=400; //假设屏幕分辨率800*600,400位于x轴中心
  33. y1=y2=300; //300位于y轴中心
  34. c=10; //增量为10
  35. }
  36. CMainFrame::~CMainFrame()
  37. {
  38. }
  39. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  40. {
  41. if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  42. return -1;
  43. if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  44. | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
  45. !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
  46. {
  47. TRACE0("Failed to create toolbarn");
  48. return -1;      // fail to create
  49. }
  50. if (!m_wndStatusBar.Create(this) ||
  51. !m_wndStatusBar.SetIndicators(indicators,
  52.   sizeof(indicators)/sizeof(UINT)))
  53. {
  54. TRACE0("Failed to create status barn");
  55. return -1;      // fail to create
  56. }
  57. // TODO: Delete these three lines if you don't want the toolbar to
  58. //  be dockable
  59. m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  60. EnableDocking(CBRS_ALIGN_ANY);
  61. DockControlBar(&m_wndToolBar);
  62. return 0;
  63. }
  64. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  65. {
  66. if( !CFrameWnd::PreCreateWindow(cs) )
  67. return FALSE;
  68. // TODO: Modify the Window class or styles here by modifying
  69. //  the CREATESTRUCT cs
  70. return TRUE;
  71. }
  72. /////////////////////////////////////////////////////////////////////////////
  73. // CMainFrame diagnostics
  74. #ifdef _DEBUG
  75. void CMainFrame::AssertValid() const
  76. {
  77. CFrameWnd::AssertValid();
  78. }
  79. void CMainFrame::Dump(CDumpContext& dc) const
  80. {
  81. CFrameWnd::Dump(dc);
  82. }
  83. #endif //_DEBUG
  84. /////////////////////////////////////////////////////////////////////////////
  85. // CMainFrame message handlers
  86. void CMainFrame::OnTimer(UINT nIDEvent) 
  87. {
  88. // TODO: Add your message handler code here and/or call default
  89. CDC *pDC=GetDC();
  90. pDC-> Ellipse (x1,y1,x2,y2);  //画圆函数
  91. x1=x1-c;
  92. y1=y1-c*600/800;
  93. x2=x2+c;
  94. y2=y2+c*600/800;
  95. if(x1<=0||x1>=400)c=-c; //如果x1到了x轴边缘或中心,则改变增量的符号
  96. CFrameWnd::OnTimer(nIDEvent);
  97. }