Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2

Тут можно читать онлайн Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Диалог-МИФИ, год 1996. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2
  • Автор:
  • Жанр:
  • Издательство:
    Диалог-МИФИ
  • Год:
    1996
  • Город:
    Москва
  • ISBN:
    нет данных
  • Рейтинг:
    3.89/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Александр Фролов - Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 краткое содержание

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - описание и краткое содержание, автор Александр Фролов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга посвящена программированию в среде Microsoft Visual C++ с использованием библиотеки классов MFC. В ней мы расскажем о разработке приложений с многооконным пользовательским интерфейсом, использовании классов MFC для создания меню, панелей управления и состояния. Рассмотрим возможности повторного использования программного кода, предоставляемые Microsoft Visual C++. Отдельную главу книги мы посвятили разработке приложений, взаимодействующих с базами данных через драйвера ODBC.

Книга предназначена для всех, кто интересуется программированием в среде операционных систем Windows 95 и Windows NT версий 3.51 и 4.0.

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - читать онлайн бесплатно полную версию (весь текст целиком)

Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 - читать книгу онлайн бесплатно, автор Александр Фролов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

В нашем примере мы отображаем новый объект непосредственно из метода OnUpdate. Однако лучше если метод OnUpdate только укажет методу OnDraw область окна просмотра, которую надо перерисовать. Для этого можно воспользоваться методом CWnd::InvalidateRect.

Комбинированный редактор

Некоторые многооконные приложения позволяют одновременно работать с документами различных типов. Примером такого приложения является сама среда разработки Visual C++. В ней вы одновременно можете открыть окно редактирования исходного текста приложения и редактор ресурсов. Большинство систем управления базами данных также позволяют работать с документами различных типов. Так FoxPro и Access позволяют в одном окне просматривать поля базы данных, а в другом разрабатывать диалоговую форму для отображения информации из этой базы данных.

Ранее мы уже научились создавать приложения, которые могут отображать графические объекты (окружности, прямоугольники и т. д.) и текстовую информацию. Теперь мы приступим к разработке наиболее сложного приложения, которое может одновременно работать с документами двух различных типов – графическими и текстовыми.

Для упрощения возьмите уже готовое многооконное приложение, которое уже может работать с простейшими графическими документами – Multi.

Создание нового класса документа и класса окна просмотра

Создайте два новых класса – класс документа и класс окна отображения для хранения и отображения на экране текстовой информации. Для создания новых классов используйте MFC ClassWizard .

Сначала откройте панель ClassWizard и нажмите кнопку Add Class. Откроется новая диалоговая панель Create New Class. Введите в поле Name имя нового класса – CEditorDoc, а в поле Base Class выберите имя базового класса CDocument. Нажмите кнопку Create. ClassWizard создаст класс CEditorDoc, определение которого он разместит в файле CEditorDoc.h, а реализацию методов класса в файле CEditorDoc.cpp.

Не закрывая ClassWizard, создайте класс окна просмотра текстового документа. Нажмите кнопку Add Class. В поле Name диалоговой панели Create New Class введите имя класса окна просмотра CEditorView, а в поле Base Class выберите имя его базового класса CEditView. Нажмите кнопку Create. ClassWizard создаст класс CEditorView, определение которого он разместит в файле CEditorView.h, а реализацию методов класса в файле CEditorView.cpp.

Теперь вы можете определить, как записывать и считывать текстовый документ из файла на диске. Когда ClassWizard создает для вас класс документа, наследованный от базового класса CDocument, он сразу создает шаблон метода Serialize. К сожалению, этот шаблон придется переделать.

Мы уже изучали класс CEditView в предыдущей книге, посвященной MFC, и вы должны знать, что объекты этого класса сами хранят данные редактируемого документа. Поэтому для записи и чтения документа метод Serialize класса документа должен вызвать соответствующий метод класса окна просмотра. Измените метод Serialize следующим образом:

//////////////////////////////////////////////////////////////

// Метод класса Serialize CEditorDoc

void CEditorDoc::Serialize(CArchive& ar) {

((CEditView*)m_viewList.GetHead())->SerializeRaw(ar);

}

На этом реализация классов для хранения и отображения текстового документа закончена и можно перейти к самому интересному – к созданию шаблона нового документа.

Создание шаблона текстовых документов

Шаблоны документов, с которыми работает приложение определяют все характеристики данного типа документа. Они включают информацию о классе документа, классе окна просмотра, классе окна рамки, а также о ресурсах, связанных с данным типом документов.

Шаблоны документов создаются объектом приложения во время его инициализации. Откройте метод InitInstance главного класса приложения CMultiApp. В нем создается только один объект класса CMultiDocTemplate, который представляет графический документ и средства для работы с ним.

Так как наше приложение должно работать не только с графическими, но и с текстовыми документами, вы должны создать еще один объект шаблона документов, представляющий текстовый документ. Класс текстового документа называется CEditorDoc, класс окна для его просмотра CEditorView. В качестве окна рамки мы используем класс CChildFrame. Ниже представлен соответствующий фрагмент метода InitInstance:

//////////////////////////////////////////////////////////////

// CMultiApp initialization

BOOL CMultiApp::InitInstance() {

// ...

// Регистрируем шаблоны документов приложения

CMultiDocTemplate* pDocTemplate;

pDocTemplate = new CMultiDocTemplate(IDR_MULTITYPE, RUNTIME_CLASS(CMultiDoc), RUNTIME_CLASS(CChildFrame), RUNTIME_CLASS(CMultiView));

AddDocTemplate(pDocTemplate);

pDocTemplate = new CMultiDocTemplate(IDR_EDITORTYPE, RUNTIME_CLASS(CEditorDoc), RUNTIME_CLASS(CChildFrame), RUNTIME_CLASS(CEditorView));

AddDocTemplate(pDocTemplate);

// ...

return TRUE;

}

При создании шаблона документов указывается идентификатор, который определяет меню, пиктограмму и некоторую другую полезную информацию, связанную с документами данного типа. Мы указали для шаблона текстового документа идентификатор IDR_EDITORTYPE. Здесь мы несколько забежали вперед, так как такой идентификатор еще не определен. Мы вернемся к ресурсам текстового документа в следующем разделе.

Чтобы созданный шаблон текстовых документов добавить к списку шаблонов документов приложения, надо вызвать метод AddDocTemplate, указав ему адрес объекта шаблона.

Ресурсы текстовых документов

Откройте редактор ресурсов приложения. Вам требуется создать меню, пиктограмму и строковый ресурс с идентификатором IDR_EDITORTYPE. Самый простой путь для этого заключается в копировании и изменении идентификатора ресурсов, относящихся к графическим документам. Идентификатор этих ресурсов IDR_MULTITYPE. Чтобы скопировать ресурс, вы можете выбрать интересующий вас ресурс из окна проекта, записать его в обменный буфер clipboard, вставить его, а затем изменить идентификатор на IDR_EDITORTYPE.

На первом этапе разработки приложения скопированные меню и пиктограмму вы можете оставить без изменения. Потом вы можете изменить их по своему усмотрению.

Строковый ресурс IDR_EDITORTYPE, описывающий документ, желательно изменить сразу. Для графического документа строковый ресурс IDR_MULTITYPE выглядит следующим образом:

\nGraph\nGraph\nGraph Files (*.LIS)\n.LIS\nGraph.Document\nGraph Document

Чтобы текстовый документ имел другое название типа документа, расширение файлов принятое по умолчанию, измените строковый ресурс с идентификатором IDR_EDITORTYPE:

\nText\nTexti\nTexti Files (*.TXT)\n.TXT\nText.Document\nText Document

Приложение готово

Все, приложение готово. Постройте проект и запустите полученный выполняемый файл. На экране появится диалоговая панель New, представленная на рисунке 1.15.

Рис 115 Выбор типа нового документа В списке New этой панели перечислены - фото 15

Рис. 1.15. Выбор типа нового документа

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Александр Фролов читать все книги автора по порядку

Александр Фролов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2 отзывы


Отзывы читателей о книге Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT. Часть 2, автор: Александр Фролов. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x