Иллюстрированный самоучитель по Visual Studio.Net


Настройка стартового кода - часть 3


Проблема всего лишь в том, что компилятор пока не знает о том, что CTreeDoc происходит от известного ему класса CDocument. Решение этой проблемы — вставить директиву #include "TreeDoc.h" перед директивой #include "Lef tview.h". В сложных проектах, состоящих из множества файлов, неверная последовательность включения файлов заголовков может привести к дополнительной головной боли. Для выявления причины отказа в таких случаях нужен серьезный анализ этой последовательности.Теперь, запустив приложение, вы должны увидеть заготовку приложения, которое соответствует выбору (флажку) Windows Explorer, сделанному нами в окне мастера AppWizard. Мы имеем два окна, разделенных перегородкой (split bar). Левое окно (рапе) предстоит наполнить ветвями файлового дерева, а в правом — показывать в виде «картинок» файлы документов приложения, обнаруженные в текущей папке — той папке, которая выбрана в левом окне, — дереве файлов. Возвращаясь к сокращениям кода стартовой заготовки, отметим, что многие файлы, будучи уменьшенными в объеме, значительно выигрывают в читабельности и выглядят не так страшно для новичков. В качестве примера приведем текст файла TreeFrm.h после указанной операции1:

class CTreeFrame : public CMDIChildWnd

{

DECLARE_DYNCREATE (CTreeFrame)

public:

CTreeFrame();

virtual ~CTreeFrame();

//====== Создание панелей расщепленного (split) окна

virtual BOOL OnCreateClient(LPCREATESTRUCT Ipcs,

CCreateContext* pContext);

virtual BOOL PreCreateWindow(CREATESTRUCT& cs) ;

protected:

//====== Объект для управления расщепленным окном

CSplitterWnd m_wndSplitter;

DECLARE_MESSAGE_MAP() };

Кроме методов, рассмотренных выше, мы убрали за ненадобностью метод GetRightPane, который добывает адрес представления, расположенного в правой части (рапе) расщепленного окна. Аналогичной редакции (редукции) подвергся и файл Lef tview.h, который, тем не менее, справляется с начальной задачей — показ пустого окна, и в редуцированном виде. Однако этот класс необходимо начать развивать уже сейчас, придавая ему способность управлять деревом файлов.


Начало  Назад  Вперед