MainFrm.cpp
上传用户:szfskj
上传日期:2022-03-28
资源大小:3962k
文件大小:4k
源码类别:

其他游戏

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "skyblue_Rect.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. // NOTE - the ClassWizard will add and remove mapping macros here.
  17. //    DO NOT EDIT what you see in these blocks of generated code !
  18. ON_WM_CREATE()
  19. //}}AFX_MSG_MAP
  20. END_MESSAGE_MAP()
  21. static UINT indicators[] =
  22. {
  23. ID_SEPARATOR,           // status line indicator
  24. ID_INDICATOR_CAPS,
  25. ID_INDICATOR_NUM,
  26. ID_INDICATOR_SCRL,
  27. };
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CMainFrame construction/destruction
  30. CMainFrame::CMainFrame()
  31. {
  32. // TODO: add member initialization code here
  33. }
  34. CMainFrame::~CMainFrame()
  35. {
  36. }
  37. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  38. {
  39. if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  40. return -1;
  41. //工具栏的实现
  42. CImageList img;
  43. CString str;
  44. if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
  45. | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC))
  46. {
  47. return -1;
  48. }
  49. //设置按钮的宽度和长度
  50. m_wndToolBar.GetToolBarCtrl().SetButtonWidth(40, 100);
  51. //改变属性
  52. m_wndToolBar.ModifyStyle(0, TBSTYLE_FLAT |CBRS_TOOLTIPS | 
  53. TBSTYLE_TRANSPARENT|TBBS_CHECKBOX );
  54. //设置按钮数为6
  55. m_wndToolBar.SetButtons(NULL,4);
  56. // 2. 添加图像
  57. //设置"热/hot"状态的的位图
  58. img.Create(28, 28, ILC_COLOR8|ILC_MASK,2,2);
  59. img.SetBkColor(RGB(0, 0, 102));
  60. //顺序增添按键的图标
  61. img.Add(AfxGetApp()->LoadIcon(IDI_ICON_START));
  62.     img.Add(AfxGetApp()->LoadIcon(IDI_ICON_PAUSE));
  63. img.Add(AfxGetApp()->LoadIcon(IDI_ICON_END));
  64.     img.Add(AfxGetApp()->LoadIcon(IDI_ICON_SET));
  65. m_wndToolBar.GetToolBarCtrl().SetHotImageList(&img);
  66. img.Detach();
  67. //设置"冷/cold"状态的位图
  68. img.Create(32, 32, ILC_COLOR8|ILC_MASK, 2,2);
  69. img.SetBkColor(::GetSysColor(COLOR_BTNFACE));
  70. //顺序增添按键的图标
  71. img.Add(AfxGetApp()->LoadIcon(IDI_ICON_START));
  72.     img.Add(AfxGetApp()->LoadIcon(IDI_ICON_PAUSE));
  73. img.Add(AfxGetApp()->LoadIcon(IDI_ICON_END));
  74.     img.Add(AfxGetApp()->LoadIcon(IDI_ICON_SET));
  75. m_wndToolBar.GetToolBarCtrl().SetImageList(&img);
  76. img.Detach();
  77. //3. 设置文字  
  78. m_wndToolBar.SetButtonInfo(0, ID_GAME_START, TBSTYLE_BUTTON, 0);
  79. m_wndToolBar.SetButtonText(0, "开始");
  80. m_wndToolBar.SetButtonInfo(1, ID_GAME_PAUSH, TBSTYLE_BUTTON, 1);
  81. m_wndToolBar.SetButtonText(1, "暂停");
  82. m_wndToolBar.SetButtonInfo(2, ID_GAME_END, TBSTYLE_BUTTON,2);
  83. m_wndToolBar.SetButtonText(2, "结束");
  84. m_wndToolBar.SetButtonInfo(3, ID_GAME_OPTION, TBSTYLE_BUTTON,3);
  85. m_wndToolBar.SetButtonText(3, "设置");
  86. CRect rectToolBar;
  87. //得到按钮的大小
  88. m_wndToolBar.GetItemRect(0, &rectToolBar);
  89. //设置按钮的大小
  90. m_wndToolBar.SetSizes(rectToolBar.Size(), CSize(32,32));
  91. // TODO: Delete these three lines if you don't want the toolbar to
  92. //  be dockable
  93. m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  94. EnableDocking(CBRS_ALIGN_ANY);
  95. DockControlBar(&m_wndToolBar);
  96. return 0;
  97. }
  98. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  99. {
  100. cs.cx = 500;
  101. cs.cy = 500;
  102. if( !CFrameWnd::PreCreateWindow(cs) )
  103. return FALSE;
  104. // TODO: Modify the Window class or styles here by modifying
  105. //  the CREATESTRUCT cs
  106. return TRUE;
  107. }
  108. /////////////////////////////////////////////////////////////////////////////
  109. // CMainFrame diagnostics
  110. #ifdef _DEBUG
  111. void CMainFrame::AssertValid() const
  112. {
  113. CFrameWnd::AssertValid();
  114. }
  115. void CMainFrame::Dump(CDumpContext& dc) const
  116. {
  117. CFrameWnd::Dump(dc);
  118. }
  119. #endif //_DEBUG
  120. /////////////////////////////////////////////////////////////////////////////
  121. // CMainFrame message handlers