15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


CDirTreeCtrl: проводник, основанный на классе CTreeCtrl


Автор: Nicola Delfino.

CDirTreeCtrl это надстройка для CTreeCtrl и позволяет просматривать структуру директорий файловой системы ввиде дерева, наподобие виндузового проводника. В то время, как древовидное окно проводника Windows показывает только директории, этот браузер показывает так же и файлы.

Используется этот класс путём вызова метода Initialize( ) в методе OnCreate( ) главного окна.

В методе MatchExtension можно добавить код, позволяющий задать - какие файлы будут отображаться вместе с директориями. Например, чтобы отображались только директории, метод MatchExtension должен выглядеть следующим образом:

bool CMyDirTreeCtrl::MatchExtension(CString file){
    return false;
}

если Вы хотите, чтобы показывались только файлы .exe и .gif ...

bool CMyDirTreeCtrl::MatchExtension(CString file){
    if (file.Right(4)==CString(".exe")) return true;
    if (file.Right(4)==CString(".gif")) return true;
    return false;
}

и наконец, чтобы показывались все файлы:

bool CMyDirTreeCtrl::MatchExtension(CString file){
    return true;
}

DirTreeCtrl содержит также 2 дополнительных метода: SetPath( ) , который позволяет устанавливать браузер на определённую директорию и GetPath( ) , который возвращает (полный) путь выбранного элемента дерева.

DirTreeCtrl (и демонстрашка) были написаны и протестированы в Visual Studio 6 Service Pack1. Возможно они будут работать и в предыдущих версиях DevStudio и MFC.

Скачать демонстрашку - 43 KB

Скачать исходник класса - 5 KB