Tab3.h
上传用户:tianjwyx
上传日期:2007-01-13
资源大小:813k
文件大小:3k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. #if !defined(AFX_TAB3_H__2C7DF905_795A_429D_8555_FF45C2B14FB3__INCLUDED_)
  2. #define AFX_TAB3_H__2C7DF905_795A_429D_8555_FF45C2B14FB3__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // Tab3.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CTab3 dialog
  10. #include "TabSheet.h"
  11. #include "MemPage1.h"
  12. #include "MemPage2.h"
  13. #include "Math.h"
  14. #include "MatrixStatic.h"
  15. #include "BalloonTip.h"
  16. struct SERIAL
  17. {
  18.     int PageID;
  19.     bool bFIFO;
  20. bool bOPT;
  21. bool bLRU;
  22. int NextSame;
  23. };
  24. struct MEMITEM
  25. {
  26. int PageSize;
  27. float FIFORate;
  28. float OPTRate;
  29. float LRURate;
  30. HTREEITEM hti;
  31. SERIAL Serial[20];  //20个随机生成的页面号测试序列
  32. };
  33. struct PAGEITEM
  34. {
  35. int vPageSize;
  36. float AveFIFORate;
  37. float AveOPTRate;
  38. float AveLRURate;
  39.     HTREEITEM hti;
  40. CArray<MEMITEM,MEMITEM> VMemItem;
  41. };
  42. struct MEMSTACK
  43. {
  44. int PageID;
  45. int BlockID;
  46. int UseTime;  //表示该页何时被使用
  47. int NextSame;
  48. };
  49. class CTab3 : public CDialog
  50. {
  51. // Construction
  52. public:
  53. void ShowGraph2(int nPage);
  54. void ShowGraph1();
  55. void InitMem();
  56. CTab3(CWnd* pParent = NULL);   // standard constructor
  57.     CArray<MEMSTACK,MEMSTACK>FIFOStack;
  58. CArray<MEMSTACK,MEMSTACK>OPTStack;
  59. CArray<MEMSTACK,MEMSTACK>LRUStack;
  60. //CArray<MEMPAGE,MEMPAGE>MemBlock;
  61. //CArray<MAR,MAR>MemPage;
  62. PAGEITEM VPageItem[4];
  63. HTREEITEM hti[4];
  64. CMemPage1 TabPage1;
  65.     CMemPage2 TabPage2;
  66. // Dialog Data
  67. //{{AFX_DATA(CTab3)
  68. enum { IDD = IDD_TAB3 };
  69. CMatrixStatic m_lcd;
  70. CTabSheet m_TabView;
  71. CTreeCtrl m_wndTree;
  72. CListCtrl m_List;
  73. //}}AFX_DATA
  74.     
  75. // Overrides
  76. // ClassWizard generated virtual function overrides
  77. //{{AFX_VIRTUAL(CTab3)
  78. protected:
  79. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  80. //}}AFX_VIRTUAL
  81. // Implementation
  82. protected:
  83.     CBalloonTip* m_pBalloonTip;
  84. // Generated message map functions
  85. //{{AFX_MSG(CTab3)
  86. virtual BOOL OnInitDialog();
  87. afx_msg void OnBtnBegin();
  88. afx_msg void OnPaint();
  89. afx_msg void OnDblclkTree(NMHDR* pNMHDR, LRESULT* pResult);
  90. afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
  91. afx_msg void OnMnuRedo2();
  92. //}}AFX_MSG
  93. DECLARE_MESSAGE_MAP()
  94. private:
  95. void ShowBallTip(CPoint pt, CString msg);
  96. void InitMemStack();
  97. void ShowMemList(int nPage,int nMem);
  98. void AddPageItem(CString PageID,CString FIFO,CString OPT,CString LRU);
  99. float rnd();
  100. UINT PageCount;
  101. };
  102. //{{AFX_INSERT_LOCATION}}
  103. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  104. #endif // !defined(AFX_TAB3_H__2C7DF905_795A_429D_8555_FF45C2B14FB3__INCLUDED_)