コード例 #1
0
ファイル: ddrive.cpp プロジェクト: glookka/pfm
	Drive_t ( const wchar_t * szPath, const wchar_t * szName, int iId, bool bShowSpace = true, bool bShowIcon = true )
		: m_iId			( iId )
		, m_bShowSpace	( bShowSpace )
	{
		Reset ();

		ULARGE_INTEGER uFree, uTotal;
		wcscpy ( m_szPath, szPath );
		wcscpy ( m_szName, szName + ( szName [0] == L'\\' ? 1 : 0 ) );

		int iNameLen = wcslen ( m_szName );
		if ( m_szName [iNameLen - 1] == L'\\' )
			m_szName [iNameLen - 1] = L'\0';

		if ( bShowIcon )
			m_iIcon = GetSmallFileIcon ( m_szPath );

		if ( bShowSpace )
		{
			wchar_t szBuf1 [FILESIZE_BUFFER_SIZE];
			wchar_t szBuf2 [FILESIZE_BUFFER_SIZE];
			GetDiskFreeSpaceEx ( m_szPath, &uFree, &uTotal, NULL );

			FileSizeToString ( uFree,	szBuf1, true );
			FileSizeToString ( uTotal,	szBuf2, true );

			wsprintf ( m_szSpace, Txt ( T_DLG_DRIVE_FREE ), szBuf1, szBuf2 );
		}
	}
コード例 #2
0
ファイル: dfile_properties.cpp プロジェクト: glookka/pfm
	void InitCommonPage ( HWND hDlg )
	{
		DlgTxt ( hDlg, IDC_LOCATION_STATIC, T_DLG_LOCATION );
		DlgTxt ( hDlg, IDC_SIZE_STATIC, T_DLG_SIZE );
		DlgTxt ( hDlg, IDC_CONTAINS_STATIC, T_DLG_CONTAINS );

		InitIcon ( hDlg );

		if ( m_tList.OneFile () )
		{
			const WIN32_FIND_DATA & tData = m_tList.m_dFiles [0]->m_tData;

			SHFILEINFO tShFileInfo;
			SHGetFileInfo ( m_tList.m_sRootDir + tData.cFileName, tData.dwFileAttributes, &tShFileInfo, sizeof (SHFILEINFO), SHGFI_TYPENAME );
			SetDlgItemText ( hDlg, IDC_TYPE, tShFileInfo.szTypeName );
			SetDlgItemText ( hDlg, IDC_FILENAME_STATIC, tData.cFileName );
			SetDlgItemText ( hDlg, IDC_LOCATION, m_tList.m_sRootDir + tData.cFileName );
		}
		else
		{
			wchar_t szBuf [128];
			wsprintf ( szBuf, Txt ( T_DLG_FILESFOLDERS ), m_nFiles, m_nFolders );
			SetDlgItemText ( hDlg, IDC_TYPE, Txt ( T_DLG_MULTIFILES ) );
			SetDlgItemText ( hDlg, IDC_FILENAME_STATIC, szBuf );
			SetDlgItemText ( hDlg, IDC_LOCATION, m_tList.m_sRootDir );
		}

		SendMessage ( GetDlgItem ( hDlg, IDC_FILENAME_STATIC ), WM_SETFONT, (WPARAM)g_tResources.m_hBoldSystemFont, TRUE );

		const WIN32_FIND_DATA & tData = m_tList.m_dFiles [0]->m_tData;
		
		wchar_t szSize [FILESIZE_BUFFER_SIZE*2 + 64];
		wchar_t szSize1 [FILESIZE_BUFFER_SIZE];
		wchar_t szSize2 [FILESIZE_BUFFER_SIZE];
		if ( tData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
		{
			wsprintf ( szSize, Txt ( T_DLG_SIZE_DETAILED ), FileSizeToString ( m_uSize, szSize1, true ), FileSizeToStringByte ( m_uSize, szSize2 ) );
			SetDlgItemText ( hDlg, IDC_FILE_SIZE, szSize );

			wsprintf ( szSize, Txt ( T_DLG_FILESFOLDERS ), m_nFiles, m_nFolders - 1 );
			SetDlgItemText ( hDlg, IDC_CONTAINS, szSize );
		}
		else
		{
			ShowWindow ( GetDlgItem ( hDlg, IDC_CONTAINS_STATIC ), SW_HIDE );
			ShowWindow ( GetDlgItem ( hDlg, IDC_CONTAINS ), SW_HIDE );
			wsprintf ( szSize, Txt ( T_DLG_SIZE_DETAILED ), FileSizeToString ( m_uSize, szSize1, true ), FileSizeToStringByte ( m_uSize, szSize2 ) );
			SetDlgItemText ( hDlg, IDC_FILE_SIZE, szSize );
		}
	}
コード例 #3
0
ファイル: dfile_properties.cpp プロジェクト: glookka/pfm
	void Init ( HWND hDlg )
	{
		DlgTxt ( hDlg, IDC_USED_SPACE_STATIC, T_DLG_USED_SPACE );
		DlgTxt ( hDlg, IDC_TOTAL_SPACE_STATIC, T_DLG_TOTAL_SPACE );
		DlgTxt ( hDlg, IDC_FREE_SPACE_STATIC, T_DLG_FREE_SPACE );
		DlgTxt ( hDlg, IDC_CONTAINS_STATIC, T_DLG_CONTAINS );

		InitFullscreenDlg ( hDlg, IDM_OK, SHCMBF_HIDESIPBUTTON );

		HWND hFilename = GetDlgItem ( hDlg, IDC_FILENAME );
		SendMessage ( hFilename, WM_SETFONT, (WPARAM)g_tResources.m_hBoldSystemFont, TRUE );

		const WIN32_FIND_DATA & tData = m_tList.m_dFiles [0]->m_tData;

		SHFILEINFO tShFileInfo;
		SHGetFileInfo ( m_tList.m_sRootDir + tData.cFileName, tData.dwFileAttributes, &tShFileInfo, sizeof (SHFILEINFO), SHGFI_TYPENAME );
		SetDlgItemText ( hDlg, IDC_TYPE, tShFileInfo.szTypeName );

		AlignFileName ( hFilename, tData.cFileName );
		InitFileIcon ( hDlg, m_tList );

		wchar_t szSize [FILESIZE_BUFFER_SIZE*2 + 128];
		wchar_t szSize1 [FILESIZE_BUFFER_SIZE];
		wchar_t szSize2 [FILESIZE_BUFFER_SIZE];
		wsprintf ( szSize, Txt ( T_DLG_SIZE_DETAILED ), FileSizeToString ( m_uSize, szSize1, true ), FileSizeToStringByte ( m_uSize, szSize2 ) );
		SetDlgItemText ( hDlg, IDC_FILE_SIZE, szSize );

		wsprintf ( szSize, Txt ( T_DLG_FILESFOLDERS ), m_nFiles, m_nFolders - 1 );
		SetDlgItemText ( hDlg, IDC_CONTAINS, szSize );

		ULARGE_INTEGER uTotal;
		ULARGE_INTEGER uFree;
		uTotal.QuadPart = uFree.QuadPart = 0;
		
		GetDiskFreeSpaceEx ( m_tList.m_sRootDir + tData.cFileName, &uFree, &uTotal, NULL );

		wsprintf ( szSize, Txt ( T_DLG_SIZE_DETAILED ), FileSizeToString ( uTotal, szSize1, true ), FileSizeToStringByte ( uTotal, szSize2 ) );
		SetDlgItemText ( hDlg, IDC_TOTAL_SPACE, szSize );

		wsprintf ( szSize, Txt ( T_DLG_SIZE_DETAILED ), FileSizeToString ( uFree, szSize1, true ), FileSizeToStringByte ( uFree, szSize2 ) );
		SetDlgItemText ( hDlg, IDC_FREE_SPACE, szSize );
	}
コード例 #4
0
ファイル: Main.cpp プロジェクト: DaZhu/gac
	// Fill all information about a directory or a file.
	FOREACH(WString, file, files)
	{
		Ptr<list::ListViewItem> item=new list::ListViewItem;
		WString fullPath=path+L"\\"+file;

		// Get large icon.
		item->largeImage=GetFileIcon(fullPath, SHGFI_LARGEICON | SHGFI_ICON);
		// Get small icon.
		item->smallImage=GetFileIcon(fullPath, SHGFI_SMALLICON | SHGFI_ICON);
		// Get display name
		item->text=GetFileDisplayName(fullPath);
		// Get type name
		item->subItems.Add(GetFileTypeName(fullPath));
		// Get last write time
		item->subItems.Add(FileTimeToString(GetFileLastWriteTime(fullPath)));
		// Get file size
		item->subItems.Add(FileSizeToString(GetFileSize(fullPath)));

		listView->GetItems().Add(item);
	}
コード例 #5
0
ファイル: dcopy.cpp プロジェクト: glookka/pfm
static void SetCopyText ( HWND hText )
{
	Assert ( g_pList );
	int nFiles = g_pList->m_dFiles.Length ();
	Assert ( nFiles );

	if ( nFiles > 1 )
	{
		wchar_t szSize [FILESIZE_BUFFER_SIZE];
		FileSizeToString ( g_pList->m_uSize, szSize, true );
		wsprintf ( g_szDest, Txt ( T_DLG_COPY_FILES ), nFiles, szSize );
	}
	else
	{
		const FileInfo_t * pInfo = g_pList->m_dFiles [0];
		Assert ( pInfo );
		wcscpy ( g_szDest, pInfo->m_tData.cFileName );
	}

	AlignFileName ( hText, g_szDest );
}