Учебник по Visual C++ .Net



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


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, который, тем не менее, справляется с начальной задачей — показ пустого окна, и в редуцированном виде. Однако этот класс необходимо начать развивать уже сейчас, придавая ему способность управлять деревом файлов. Введите в него объявления новых данных и методов так, чтобы файл LeftView.h приобрел вид:

#pragma once

class CTreeDoc; // Упреждающее объявление

class CLeftView : public CTreeView

{

protected:

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

CTreeCtrlS m_Tree;

//====== Список значков узлов дерева

CImageList *m_pImgList;

CLeftView() ;

virtual void OnlnitialUpdate();

DECLARE_DYNCREATE(CLeftView)

public:

virtual ~CLeftView(); CTreeDoc* GetDocument()

{

return dynamic_cast<CTreeDoc*>(m_pDocument);

}

//====== Выбор системных значков

void GetSysImgList ();

//====== Вставка нового узла (ветви)

void AddltemfHTREEITEM h, LPCTSTR s) ;

//====== Поиск своих документов

void SearchForDocs(CString s) ;

//====== Проверка отсутствия файлов

bool NotEmpty(CString s);

//====== Вычисляет полный путь текущего узла дерева

CString GetPath (HTREEITEM hCur);

DECLARE_MESSAGE_MAP()

};

Мы не собираемся поддерживать вывод на принтер, поэтому в файле реализации класса CLef tview (LeftView.cpp) уберите из карты сообщений класса все макросы, связанные с печатью. Удалите также заготовки тех функций, прототипы которых удалили в файле интерфейса класса (LeftView.h). Это функции PreCreateWindow, OnPreparePrinting, OnBeginPrinting, OnEndPrinting. AssertValid, Dump, GetDocument. Кроме директив препроцессора в файле должен остаться такой код:




Содержание  Назад  Вперед