Управление файловым деревом


Управление файловым деревом
Управление файловым деревом Настройка стартового кода Список изображений, ассоциируемый с деревом Обращаемся к операционной системе Реакция на уведомляющие сообщения CtreeCtrl...
Развитие класса документа
Развитие класса документа Теперь, когда мы имеем вспомогательные классы (CDPoint и CPolygon), можно подумать о структуре данных класса CTreeDoc. Нам понадобятся: массив (контейнер) полигонов,...
Документ и его представления
Документ и его представления Библиотека MFC предоставляет 3 различных способа создания окон-рамок, обрамляющих представления. Два явных способа: вызов методов CFrameWnd:: Create или CFrameWnd::...
Обзор функции Initlnstance
Обзор функции InitlnstanceВнесем некоторые изменения и сокращения в файл реализации класса CTreeApp. Откройте файл Тгее.срр в окне редактора и просмотрите коды функции Initlnstance. Если у вас...
Таблица будет отсортирована по
Таблица будет отсортирована по возрастанию индексов. Убедитесь в том, что индекс новой строки (видимо, 130) следует за индексом, соответствующим строке IDR_TreeTYPE, при этом строки двух шаблон...
Ресурсы шаблона документов
Ресурсы шаблона документов Если мы не поленимся и создадим для второго шаблона документов все остальные перечисленные выше ресурсы, то приложение действительно будет вести себя в соответствии с...
Класс для нового представления документа
Класс для нового представления документаПри создании второго шаблона документов мы определили новую комбинацию классов, которые будут поддерживать функционирование окон нового типа. Клиентской...
Класс для просмотра изображений
Класс для просмотра изображенийКласс представления документа CRightView служит для иллюстрации содержимого всех документов, обнаруженных в текущей выбранной папке. В окне CRightView мы рядами и...
Окна с геометрией данных
Окна с геометрией данных Характерный для MFC двухступенчатый способ создания окна cwndGeom объясняется тем, что с каждым окном связаны две сущности: Windows-окно, характеризуемое описателем ок...
Взаимодействие представлений документа
Взаимодействие представлений документа В данный момент мы имеем три класса (CLef tview, CRightView, CDrawView) для управления тремя представлениями одного документа. Взаимодействие между ними д...
Визуальное редактирование данных
Визуальное редактирование данныхНесмотря на то что разрабатываемое приложение носит учебный характер, оно моделирует вполне реальные ситуации, когда путем навигации по дереву файлов пользовател...
Редактируемый полигон
Рисунок 5.3. Редактируемый полигон В теле обработчика следует установить флаги состояния, уничтожить все вершины дежурного полигона и перерисовать представление:void CDrawView::OnEditNewpoly(v...
Отслеживание состояния команд
Отслеживание состояния команд Текущее состояние команды меню или кнопки на панели инструментов легко определяется по их облику: недоступная команда или кнопка имеет блеклый (grayed) вид. Кроме...
Настройка стартового кода
Настройка стартового кодаПросмотрите плоды работы мастера в окне Class View. С помощью контекстного меню задайте в этом окне режим просмотра Sort By Type, так как он компактнее, а классов у на...
Тестирование
ТестированиеПриложения, даже если они на первый взгляд функционируют корректно, надо тщательно тестировать, с тем чтобы проверить максимальное число состояний и ситуаций, в которых оно может ок...
Три представления одного документа
Рисунок 5.4. Три представления одного документа...
Немодальный диалог
Немодальный диалогВ предыдущем разделе мы научились редактировать данные документа, воздействуя мышью непосредственно на их представление, то есть облик документа, на экране монитора. Это довол...
Вид окна диалога
Рисунок 5.5. Вид окна диалога...
Таблица 5 1 Идентификаторы элементов управления
Таблица. 5.1 Идентификаторы элементов управления Элемент Идентификатор Диалог IDD_POLYCOLOR...
Создание и связывание переменных с полями диалога
Создание и связывание переменных с полями диалогаДля обмена данными с окнами редактирования следует в классе диалога CPolyDlg создать переменные. Это удобно делать с помощью мастера Studio.Net...
Обработка сообщений от элементов управления
Обработка сообщений от элементов управленияВ окно диалога мы ввели четыре кнопки, при нажатии которых в класс диалогового окна посылается уведомляющее сообщение BN_CLICKED. При изменении данных...
Нестандартные кнопки
Нестандартные кнопки Кнопкам управления, которые обычно размещаются в окне диалога, тоже можно придать нестандартный облик, пометив их bitmap-изображениями вместо традиционного текста. Для этой...
Немодальный режим работы
Немодальный режим работыОсобенность работы с немодальным диалогом заключается в том, что надо затратить дополнительные усилия для корректного завершения его работы. Чтобы закрыть немодальный ди...
Управление с помощью немодального диалога
Рисунок 5.6. Управление с помощью немодального диалога Изменения такого рода, как вы уже догадались, влекут за собой достаточно много ошибок на стадии компиляции, если не уделить внимания пробл...
Список изображений ассоциируемый с деревом
Список изображений, ассоциируемый с деревомДерево выглядит значительно лучше, если с каждой его ветвью связать растровое изображение (bitmap image). Обычно с деревом ассоциируется список изобра...
Вид главного окна приложения Tree
Рисунок 5.1. Вид главного окна приложения Tree...
Обращаемся к операционной системе
Обращаемся к операционной системе Теперь, когда вы научились управлять формой дерева, мы продолжим развитие приложения. Используя клавишу Delete, удалите все ресурсы типа Bitmap. Удалите также...
Вид расщепленного окна с файловым деревом
Рисунок 5.2. Вид расщепленного окна с файловым деревом учебными целями ввести исправления и добиться демонстрации не только папок, но и файлов. Убедитесь в том, что различным типам файлов соотв...
Реакция на уведомляющие сообщения CTreeCtrl
Реакция на уведомляющие сообщения CTreeCtrl Когда пользователь раскрывает узел дерева, то встроенный в класс CTreeView объект класса CTreeCtrl посылает родительскому окну (нашему представлению...
Реакция на выбор узла дерева
Реакция на выбор узла дереваПоиск «своих» файлов, то есть файлов с расширением mgn, и демонстрацию их содержимого в виде окон с рисунками следует производить в ответ на выбор (selection) пользо...
Класс CPolygon
Класс CPolygon В соответствии с архитектурой «документ — представление» мы должны ввести в класс документа некоторые новые структуры данных для хранения информации о файлах документов, обнаруж...
Конструкторы и операции
Конструкторы и операцииВажными моментами в жизни объектов являются те, когда они копируются или создаются на основе уже существующих. Реализация конструктора копирования объектов просто обязате...
Index9
Вспомогательные функцииЗадание координат полигонов является утомительным занятием, поэтому мы, учитывая учебный характер приложения, создали три вспомогательные функции, которые позволяют быс...


- Начало -