MainFrm.cpp
上传用户:hbrsgg1
上传日期:2014-05-08
资源大小:2826k
文件大小:3k
源码类别:

其他智力游戏

开发平台:

C/C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "skyblue_PinTu.h"
  5. #include "MainFrm.h"
  6. #include "OrgView.h"
  7. #include "skyblue_PinTuView.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CMainFrame
  15. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  16. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  17. //{{AFX_MSG_MAP(CMainFrame)
  18. ON_WM_CREATE()
  19. ON_WM_CLOSE()
  20. //}}AFX_MSG_MAP
  21. END_MESSAGE_MAP()
  22. /////////////////////////////////////////////////////////////////////////////
  23. // CMainFrame construction/destruction
  24. CMainFrame::CMainFrame()
  25. {
  26. // TODO: add member initialization code here
  27. }
  28. CMainFrame::~CMainFrame()
  29. {
  30. }
  31. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
  32. CCreateContext* pContext)
  33. {
  34. //创建1行2列的分裂视图
  35. m_wndSplitter.CreateStatic(this,1, 2); 
  36. m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CSkyblue_PinTuView), CSize(300,0), pContext);
  37. m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(COrgView), CSize(0,0), pContext);
  38. //讲第一个作为当前激活状态的视图
  39. m_wndSplitter.SetActivePane(0,0);
  40. return TRUE;
  41. }
  42. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  43. {
  44. if( !CFrameWnd::PreCreateWindow(cs) )
  45. return FALSE;
  46. // TODO: Modify the Window class or styles here by modifying
  47. //  the CREATESTRUCT cs
  48. cs.cx = 600;
  49. cs.cy = 250;
  50. cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE
  51. | WS_THICKFRAME | WS_SYSMENU;
  52. cs.dwExStyle = WS_EX_ACCEPTFILES;
  53. return TRUE;
  54. }
  55. /////////////////////////////////////////////////////////////////////////////
  56. // CMainFrame diagnostics
  57. #ifdef _DEBUG
  58. void CMainFrame::AssertValid() const
  59. {
  60. CFrameWnd::AssertValid();
  61. }
  62. void CMainFrame::Dump(CDumpContext& dc) const
  63. {
  64. CFrameWnd::Dump(dc);
  65. }
  66. #endif //_DEBUG
  67. /////////////////////////////////////////////////////////////////////////////
  68. // CMainFrame message handlers
  69. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
  70. {
  71. if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  72. return -1;
  73. //切换"文本提示形式"菜单选项为"图像提示形式"
  74. HMENU hmenu;
  75. //获取主菜单控制权
  76. hmenu=::GetMenu(m_hWnd);
  77. //获取图片选取菜单选项所在的子菜单栏目的控制权
  78. hmenu=::GetSubMenu(hmenu,1);
  79. char * hbmp;
  80. UINT ITEM_ID;
  81. //获取实例的句柄
  82. HINSTANCE hinst = AfxGetInstanceHandle();
  83. //载入相关的缩小预览型的位图图片,并进行相关选项的属性修改
  84. //图片的载入
  85. hbmp=(char *)LoadBitmap(hinst,MAKEINTRESOURCE(IDB_PIC1));
  86. //相应菜单选项的ID获取
  87. ITEM_ID = ::GetMenuItemID(hmenu,1);
  88. //属性修改--切换成图像显示方式
  89. ::ModifyMenu(hmenu,1,MF_BYPOSITION|MF_BITMAP,ITEM_ID,hbmp);
  90. hbmp=(char *)LoadBitmap(hinst,MAKEINTRESOURCE(IDB_PIC2));
  91. ITEM_ID = ::GetMenuItemID(hmenu,4);
  92. ::ModifyMenu(hmenu,2,MF_BYPOSITION|MF_BITMAP,ITEM_ID,hbmp);
  93. hbmp=(char *)LoadBitmap(hinst,MAKEINTRESOURCE(IDB_PIC3));
  94. ITEM_ID = ::GetMenuItemID(hmenu,4);
  95. ::ModifyMenu(hmenu,3,MF_BYPOSITION|MF_BITMAP,ITEM_ID,hbmp);
  96. hbmp=(char *)LoadBitmap(hinst,MAKEINTRESOURCE(IDB_PIC4));
  97. ITEM_ID = ::GetMenuItemID(hmenu,4);
  98. ::ModifyMenu(hmenu,4,MF_BYPOSITION|MF_BITMAP,ITEM_ID,hbmp);
  99. return 0;
  100. }