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

📄 prop.cpp

📁 ftp 服务器源码
💻 CPP
字号:
// Prop.cpp : implementation file
//

#include "stdafx.h"
#include "FtpBrowse.h"
#include "Prop.h"

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

/////////////////////////////////////////////////////////////////////////////
// CProp property page

IMPLEMENT_DYNCREATE(CProp, CPropertyPage)

CProp::CProp() : CPropertyPage(CProp::IDD)
{
	m_psp.dwFlags &= ~PSP_HASHELP; 

	HIMAGELIST  hSystemLargeImageList;//, hSystemLargeImageList; 
	SHFILEINFO    ssfi; 

   //get a handle to the system small icon list 
	hSystemLargeImageList = 
	 (HIMAGELIST)SHGetFileInfo( 
	(LPCTSTR)_T("C:\\"), 
	0, 
	 &ssfi, 
	 sizeof(SHFILEINFO), 
	 SHGFI_SYSICONINDEX | SHGFI_LARGEICON); 
	//attach it to the small image list 
	//--DON'T FORGET TO PUT m_smallImageList.Detach();  in your destructor 
	m_largeImageList.Attach(hSystemLargeImageList); 


	//{{AFX_DATA_INIT(CProp)
	m_name = _T("");
	m_server = _T("");
	m_size = _T("");
	m_loc = _T("");
	m_hid = FALSE;
	m_created = _T("");
	m_access = _T("");
	m_ar = FALSE;
	m_comp = FALSE;
	m_sys = FALSE;
	m_ro = FALSE;
	m_modified = _T("");
	//}}AFX_DATA_INIT
}

CProp::~CProp()
{
}

void CProp::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CProp)
	DDX_Control(pDX, IDC_PROP_ICON, m_icon);
	DDX_Text(pDX, IDC_PROP_NAME, m_name);
	DDX_Text(pDX, IDC_PROP_SERVER, m_server);
	DDX_Text(pDX, IDC_PROP_SIZE, m_size);
	DDX_Text(pDX, IDC_PROP_LOC, m_loc);
	DDX_Check(pDX, IDC_PROP_HD, m_hid);
	DDX_Text(pDX, IDC_PROP_CREATED, m_created);
	DDX_Text(pDX, IDC_PROP_ACCESSED, m_access);
	DDX_Check(pDX, IDC_PROP_AR, m_ar);
	DDX_Check(pDX, IDC_PROP_CM, m_comp);
	DDX_Check(pDX, IDC_PROP_SY, m_sys);
	DDX_Check(pDX, IDC_PROP_RO, m_ro);
	DDX_Text(pDX, IDC_PROP_MODIFIED, m_modified);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CProp, CPropertyPage)
	//{{AFX_MSG_MAP(CProp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CProp message handlers

BOOL CProp::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
//set bitmap
	char windir[MAX_PATH];
	GetWindowsDirectory(windir,MAX_PATH);

	if(!m_file.dir)
		m_icon.SetIcon(m_largeImageList.ExtractIcon(GetIconIndex("*.txt")));
	else
		m_icon.SetIcon(m_largeImageList.ExtractIcon(GetIconIndex(windir)));
	
	char tmp[256];
	m_name = m_file.FileTitle;
	m_loc = m_file.Root;
	m_server = m_file.Server;
	if(m_file.size==-1) 
		m_size = "?";
	else
	{
		sprintf(tmp,"%d",m_file.size);
		m_size = tmp;
	}
	m_created = FormatString(m_file.created);
	m_access = FormatString(m_file.accessed);
	m_modified = FormatString(m_file.modfied);
	m_ro= m_file.ReadOnly;
	m_sys = m_file.System;
	m_comp = m_file.Compressed;
	m_ar = m_file.Archive;
	m_hid=m_file.Hidden;
	UpdateData(FALSE);
		
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

int CProp::GetIconIndex(CString file)
{
    SHFILEINFO    sfi;
        SHGetFileInfo(
           (LPCTSTR)file, 
           0,
           &sfi, 
           sizeof(SHFILEINFO), 
           SHGFI_SYSICONINDEX | SHGFI_LARGEICON );

        return sfi.iIcon;

}

CString CProp::FormatString(CTime time)
{
CString stime;
	switch( time.GetDayOfWeek())
	{
	case 0:
		stime = "Sunday, ";
		break;
	case 1:
		stime = "Monday, ";
		break;
	case 2:
		stime = "Tuesday, ";
		break;
	case 3:
		stime = "Wednesday, ";
		break;
	case 4:
		stime = "Thursday, ";
		break;
	case 5:
		stime = "Friday, ";
		break;
	case 6:
		stime = "Saturday ";
		break;
	}
	char tmp[256];
	switch(time.GetMonth())
	{
	case 1:
		stime += "January ";
		sprintf(tmp,"%d",time.GetDay());
		stime+= tmp;
		break;
	case 2:
		stime += "Feburary ";
		sprintf(tmp,"%d",time.GetDay());
		break;
	case 3:
		stime += "March ";
		sprintf(tmp,"%d",time.GetDay()); 
		break;
	case 4:
		stime += "April ";
		sprintf(tmp,"%d",time.GetDay()); 
		break;
	case 5:
		stime += "May ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	case 6:
		stime += "June ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	case 7:
		stime = "July ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	case 8:
		stime += "August ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	case 9:
		stime += "September ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	case 10:
		stime += "October ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	case 11:
		stime += "November ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	case 12:
		stime += "December ";
		sprintf(tmp,"%d",time.GetDay()); 
		stime +=tmp;
		break;
	}
	sprintf(tmp,"%d",time.GetYear());
	stime += ",  ";
	stime+=tmp;
	stime += " ";
	//time
	if(time.GetHour()>12)
	{
		sprintf(tmp,"%d",time.GetHour()-12);
		stime+= tmp;
		stime += ":";
		sprintf(tmp,"%d",time.GetMinute());
		stime+= tmp;
		stime += ":";
		sprintf(tmp,"%d",time.GetSecond());
		stime+= tmp;
		
		stime+= "  PM";
	}
	else
	{
		sprintf(tmp,"%d",time.GetHour());
		stime+= tmp;
		stime += ":";
		sprintf(tmp,"%d",time.GetMinute());
		stime+= tmp;
		stime += ":";
		sprintf(tmp,"%d",time.GetSecond());
		stime+= tmp;
		
		stime+= "  AM";
	}
	return stime;
}

⌨️ 快捷键说明

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