Эта функция позволяет быстро заполнить список именами файлов и каталогов. Давайте создадим пункт меню с именем DIR.
void CTestListDlg::OnTestDir() { // TODO: Add your command handler code here }
Что представляет из себя эта функция ???
int Dir ( UINT attr, // атрибут LPCTSTR lpszWildCard // шаблон );
Атрибут - это число, которое устанавливает, что нужно отбирать для помещения в список.
0x0000 файлы для чтения и записи 0x0001 файлы только для чтения 0x0002 скрытые файлы 0x0004 системные файлы 0x0010 каталоги 0x0020 файлы и атрибутом архивный 0x4000 включать имена дисков 0x8000 только указанного типа, если он не установлен, то указанного типа включаются как дополнительные
Шаблон это строка типа *.txt, которая позволяет отобрать файлы. Давайте попробуем выбрать файлы в наш список.
void CTestListDlg::OnTestDir() { m_List.ResetContent(); m_List.Dir(0x0010,"c:\\*.*"); }
Для того, чтобы заполнить список нам нужно его очистить. Зачем нам название всяких стран вместе с файлами. Для этого я использовал функцию ResetContent().
void ResetContent( );
Она просто стирает все из памяти и освобождает список. Кстати, если Вы хотите заполнить список большим количеством значений, то очень эффективно использовать InitStorage().
int InitStorage ( int nItems, // количество элементов UINT nBytes // байтов на один );
Если Вы так выделили память, то заполнение списка будет идти максимально быстро. Если памяти не хватит, то заполняться список будет как обычно.