|
// *********************************************************
// ディレクトリ情報の取得
// *********************************************************
void MyClass::MyEnumDirGet()
{
LboxListview LVDir( this->hWnd, LBOX_LISTVIEW_CREATE );
LVDir.Initialize();
LVDir.AddColumn( "" );
LVDir.AddColumn( "" );
LVDir.AddColumn( "" );
// システムイメージリストのインデックス取得用
LboxFileSystem Fs;
LboxString LWork;
// ファイル情報取得用
HANDLE hFile;
BOOL bRet;
WIN32_FIND_DATA wfd;
FILETIME ft;
SYSTEMTIME st;
hFile = ::FindFirstFile( "*.*", &wfd );
if ( hFile == INVALID_HANDLE_VALUE ) {
return;
}
bRet = true;
while( bRet ) {
// ディレクトリのみ
if ( wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY ) {
if ( ::lstrcmp( wfd.cFileName, "." ) != 0 ) {
LVDir.AddRow();
// ファイル名
LVDir.SetColumnText( 0, wfd.cFileName );
// 更新日時
::FileTimeToLocalFileTime( &(wfd.ftLastWriteTime), &ft );
::FileTimeToSystemTime( &ft, &st );
LVDir.SetColumnPrintf(
2,
"%02d/%02d/%02d %02d:%02d:%02d",
st.wYear,
st.wMonth,
st.wDay,
st.wHour,
st.wMinute,
st.wSecond
);
}
}
bRet = ::FindNextFile( hFile, &wfd );
}
::FindClose( hFile );
LVDir.Sort( 0, 0 );
// ファイル一覧に転送
int nRow;
nRow = -1;
while( LVDir.FindNextRow( &nRow ) ) {
LVDir.SetCurrentRow( nRow );
LView->InsertRow( nRow );
// ファイル名
LVDir.GetColumnText( 0, &LWork );
LView->SetColumnText( 0, &LWork );
// イメージ
LView->SetImage(
LView->nCurrentRow,
0,
Fs.SmallIconIndex( LWork.szLboxString )
);
// 更新日時
LVDir.GetColumnText( 2, &LWork );
LView->SetColumnText( 2, &LWork );
}
}
| |