getfilesize.cpp

来自「IO函数调用测试」· C++ 代码 · 共 115 行

CPP
115
字号
// GetFileSize.cpp : implementation file
//

#include "stdafx.h"
#include <afxtempl.h>

#include "help.h"
#include "Status.h"
#include "IOExplorer.h"
#include "NumericEdit.h"
#include "TraceEvent.h"
#include "EventList.h"
  #include "EventLog.h"
#include "Handle.h"
   #include "HandleCombo.h"
   #include "handleManager.h"
   #include "TraceManager.h"
     #include "CreateFileSheet.h"
       #include "GetFileSizeEvent.h"
#include "HandlePage.h"
#include "GetFileSize.h"

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

/////////////////////////////////////////////////////////////////////////////
// CGetFileSize property page

IMPLEMENT_DYNCREATE(CGetFileSize, CHandlePage)

CGetFileSize::CGetFileSize() : CHandlePage(CGetFileSize::IDD)
{
	//{{AFX_DATA_INIT(CGetFileSize)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

CGetFileSize::~CGetFileSize()
{
}

void CGetFileSize::DoDataExchange(CDataExchange* pDX)
{
	CHandlePage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CGetFileSize)
	DDX_Control(pDX, IDC_GETFILESIZE, c_GetFileSize);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CGetFileSize, CHandlePage)
	//{{AFX_MSG_MAP(CGetFileSize)
	ON_BN_CLICKED(IDC_GETFILESIZE, OnGetfilesize)
	ON_BN_CLICKED(IDC_HELPBUTTON, OnHelp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CGetFileSize message handlers

void CGetFileSize::OnGetfilesize() 
{
     CCreateFileSheet * sheet = getSheet();
     CHandle * ho = sheet->HandleList.getCurrentHandle();
     GetFileSizeEvent * e = new GetFileSizeEvent(ho == NULL ? _T("") : ho->Name,
     		        ho == NULL ? 0 : ho->h);
     e->execute();
     if(e->lasterror != 0)
	c_Status.SetWindowText(e->lasterror);
     else
	c_Status.SetWindowText(e->display_result());

     sheet->log->add(e);

     updateControls();
}

BOOL CGetFileSize::OnInitDialog() 
{
	CHandlePage::OnInitDialog();
	
 	updateControls();
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

/****************************************************************************
*                        CGetFileSize::updateControls
* Result: void
*       
* Effect: 
*       Updates all the controls
****************************************************************************/

void CGetFileSize::updateControls()
    {
     CCreateFileSheet * sheet = getSheet();
     CHandle * ho = sheet->HandleList.getCurrentHandle();
     GetFileSizeEvent e(ho == NULL ? _T("") : ho->Name,
     		        ho == NULL ? 0 : ho->h);
     CString s;
     s = e.display();
     c_Text.SetWindowText(s);
    }

void CGetFileSize::OnHelp() 
{
 AfxGetApp()->WinHelp(GetFileSizeHelp, HELP_CONTEXT);
	
}

⌨️ 快捷键说明

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