2007年1月31日星期三

使用Win32函数,将目录下的文件装入ListView控件

#include <commctrl.h>
#pragma comment(lib,"comctl32.lib")

// IDC_LIST1 为ListView控件的ID
    HWND hList;
    LVITEM item; LV_COLUMN lvcol;

        InitCommonControls();
        hList=::GetDlgItem(hwndDlg,IDC_LIST1);

        lvcol.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
        lvcol.fmt = LVCFMT_LEFT;
        lvcol.cx = 200;
        lvcol.pszText = "名称";
         lvcol.iSubItem = 0;
        ListView_InsertColumn(hList, 0, &lvcol);
        SendMessage(hList2,(UINT) LB_DIR,0,(LPARAM)filelist);
        { // 读取当前目录下的dll文件
            WIN32_FIND_DATA FindFileData;
            HANDLE hFind;
            hFind = FindFirstFile("./*.dll", &FindFileData);
            if(hFind != INVALID_HANDLE_VALUE)
            {
                item.mask = LVIF_TEXT;
                item.pszText = FindFileData.cFileName;
                item.iItem=0;
                item.iSubItem=0;
                ListView_InsertItem(hList,&item);
//                AddMessageToList(FindFileData.cFileName,hList2);
                while(::FindNextFile(hFind,&FindFileData))
                {
                    item.mask = LVIF_TEXT;
                    item.pszText = FindFileData.cFileName;
                    item.iItem=0 ;
                    item.iSubItem=0;
                    ListView_InsertItem(hList,&item);
                }
/*                item.mask = LVIF_TEXT;
                item.pszText = FindFileData.cFileName ;
                item.iItem=0;
                item.iSubItem=0;
                ListView_InsertItem(hList,&item);
*/            
                FindClose(hFind);
            }
        }

没有评论: