⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memorydlg.cpp

📁 一个比较详细的操作系统进程同步模拟的例子
💻 CPP
字号:
// MemoryDlg.cpp : implementation file
//

#include "stdafx.h"
#include "process.h"
#include "MemoryDlg.h"
#include "PROCESSDlg.h"
#include "Memory.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMemoryDlg dialog


CMemoryDlg::CMemoryDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMemoryDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMemoryDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CMemoryDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMemoryDlg)
	DDX_Control(pDX, IDC_LIST1, m_ListCtrl_Memory);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMemoryDlg, CDialog)
	//{{AFX_MSG_MAP(CMemoryDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMemoryDlg message handlers

BOOL CMemoryDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_ListCtrl_Memory.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
    m_ListCtrl_Memory.InsertColumn(0,_T("Number"),LVCFMT_IMAGE|LVCFMT_LEFT);
	m_ListCtrl_Memory.InsertColumn(1,_T("Size"));
	m_ListCtrl_Memory.InsertColumn(2,_T("startAddr"));
	m_ListCtrl_Memory.InsertColumn(3,_T("isUse "));
    for(int j=0;j<4;j++)
	{
	  m_ListCtrl_Memory.SetColumnWidth(j ,90);
	}
    m_ListCtrl_Memory.SetBkColor(RGB(170,127,183));
	m_ListCtrl_Memory.SetTextBkColor( RGB(170,127,183) );

	return TRUE;  // return TRUE unless you set the focus to a control
	             // EXCEPTION: OCX Property Pages should return FALSE
}

void CMemoryDlg::Show()
{
   	 m_ListCtrl_Memory.DeleteAllItems();
	 CString m_str ;

	 m_str.Format("%d",M.PartitionA.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionA.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionA.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionA.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false");  

     m_str.Format("%d",M.PartitionB.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionB.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionB.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionB.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false");  
	 
	 m_str.Format("%d",M.PartitionC.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionC.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionC.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionC.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false");  

	 m_str.Format("%d",M.PartitionD.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionD.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionD.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionD.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false");  

	 m_str.Format("%d",M.PartitionE.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionE.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionE.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionE.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false");  

	 m_str.Format("%d",M.PartitionF.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionF.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionF.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionF.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false"); 
	 
	 m_str.Format("%d",M.PartitionG.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionG.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionG.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionG.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false"); 
	
	 m_str.Format("%d",M.PartitionH.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionH.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionH.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionH.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false"); 

	 m_str.Format("%d",M.PartitionI.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionI.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionI.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionI.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false"); 

	 m_str.Format("%d",M.PartitionJ.number);
     m_ListCtrl_Memory.InsertItem(0,m_str,0);   
	 m_str.Format("%d",M.PartitionJ.size);
	 m_ListCtrl_Memory.SetItemText(0,1,m_str);  
 	 m_str.Format("%d",M.PartitionJ.startAddr);
     m_ListCtrl_Memory.SetItemText(0,2,m_str);  
	 if(M.PartitionJ.isUse)
	     m_ListCtrl_Memory.SetItemText(0,3,"true"); 
	 else
 	     m_ListCtrl_Memory.SetItemText(0,3,"false"); 
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -