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

📄 systeminfoform.cpp

📁 类似Linux操作系统0.11版文件系统的文件系统设计和Windows下的操作程序
💻 CPP
字号:
// SystemInfoForm.cpp : 实现文件
//

#include "stdafx.h"
#include "ULExplorer.h"
#include "SystemInfoForm.h"
#include ".\systeminfoform.h"

// CSystemInfoForm

IMPLEMENT_DYNCREATE(CSystemInfoForm, CFormView)

CSystemInfoForm::CSystemInfoForm()
	: CFormView(CSystemInfoForm::IDD)
{
}

CSystemInfoForm::~CSystemInfoForm()
{
}

void CSystemInfoForm::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_STATIC_SYSTEMINFO, m_StaticGroup);
}

BEGIN_MESSAGE_MAP(CSystemInfoForm, CFormView)
	ON_WM_ERASEBKGND()
	ON_WM_SIZE()
	ON_WM_CREATE()
END_MESSAGE_MAP()


// CSystemInfoForm 诊断

#ifdef _DEBUG
void CSystemInfoForm::AssertValid() const
{
	CFormView::AssertValid();
}

void CSystemInfoForm::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG


// CSystemInfoForm 消息处理程序
BOOL CSystemInfoForm::OnEraseBkgnd(CDC* pDC)
{
	register x, y;
	CRect rcWindow = CXTPClientRect(this);	
	pDC->FillSolidRect(rcWindow, GetXtremeColor(COLOR_WINDOW));
	HFONT hOldFont = (HFONT)pDC->SelectObject((HFONT)::GetStockObject (DEFAULT_GUI_FONT));
	x = 18, y = 25;
	pDC->TextOut(x, y	 , "虚拟磁盘i节点数       =");
	pDC->TextOut(x, y+=20, "虚拟磁盘逻辑块数       =");
	pDC->TextOut(x, y+=20, "i节点位图占用数据块数 =");
	pDC->TextOut(x, y+=20, "逻辑块位图占用数据块数 =");
	pDC->TextOut(x, y+=20, "第一个数据逻辑块号     =");
	pDC->TextOut(x, y+=20, "超级块所在的设备号     =");
	pDC->TextOut(x, y+=20, "文件最大长度           =");
	pDC->TextOut(x, y+=20, "文件系统标识数         =");

	CString strData;
	pDC->SetTextColor(RGB(255,0,0));
	x = 188, y = 25;
	strData.Format("%d", m_Super.s_ninodes);
	pDC->TextOut(x, y    , strData);
	strData.Format("%d", m_Super.s_nzones);
	pDC->TextOut(x, y+=20, strData);
	strData.Format("%d", m_Super.s_imap_blocks);
	pDC->TextOut(x, y+=20, strData);
	strData.Format("%d", m_Super.s_zmap_blocks);
	pDC->TextOut(x, y+=20, strData);
	strData.Format("%d", m_Super.s_firstdatazone);
	pDC->TextOut(x, y+=20, strData);
	strData.Format("%d", m_Super.s_dev);
	pDC->TextOut(x, y+=20, strData);
	strData.Format("%d", m_Super.s_max_size);
	pDC->TextOut(x, y+=20, strData);
	strData.Format("0x%x", m_Super.s_magic);
	pDC->TextOut(x, y+=20, strData);

	pDC->SelectObject(hOldFont);
	return TRUE;
}

void CSystemInfoForm::OnSize(UINT nType, int cx, int cy)
{
	CFormView::OnSize(nType, cx, cy);

	if ( m_StaticGroup.GetSafeHwnd() )
	{
		m_StaticGroup.MoveWindow(10, 5, cx-20, cy-20);
	}
}

void CSystemInfoForm::ShowSuperInfo(void)
{
	m_Super = theFileSys.GetSuper();
	Invalidate();
}

int CSystemInfoForm::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFormView::OnCreate(lpCreateStruct) == -1)
		return -1;

	ZeroMemory(&m_Super, sizeof(struct super_block));

	return 0;
}

void CSystemInfoForm::ClearAll(void)
{
	ZeroMemory(&m_Super, sizeof(struct super_block));
	Invalidate();
}

⌨️ 快捷键说明

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