Microsoft Visual C++ и MFC.
Программирование для Windows 95 и Windows NT (часть 2)
© Александр Фролов, Григорий Фролов
Том 28, М.: Диалог-МИФИ, 1996, 288 стр.
Введение
В 24 томе серии "Библиотека системного программиста" мы начали рассказывать о программировании приложений Windows с использованием библиотек классов MFC. Вы узнали об основных принципах построения приложений MFC и наиболее важных классах. В этом томе мы продолжим изучение библиотеки классов MFC и ее возможностей.
Много внимания будет уделено созданию приложений, имеющих многооконный пользовательский интерфейс, основанный на использовании технологии MDI, основы которой мы уже излагали в предыдущих книгах серии "Библиотека системного программиста". Но теперь мы будем использовать для создания таких приложений не возможности программного интерфейса Windows, а классы библиотеки MFC. Если вы разрабатывали раньше многооконные приложения, то сможете по достоинству оценить насколько библиотека MFC упрощает работу программиста.
Мы создадим многооконное приложение с использованием MFC AppWizard и объясним как оно работает. Одно из преимуществ многооконного приложения - это возможность отображать в различных окнах одного приложения различные представления документов одного и того же типа или даже документы разных типов. Мы приведем пример приложения, которое отображает в своих окнах документы различного типа.
Развитый программный интерфейс операционной Windows значительно помогает программисту в разработке приложений, имеющих сложный пользовательский интерфейс. Создавая приложения Windows, программист избавлен от необходимости вручную рисовать окна, меню, диалоговые панели и т. д. Трудно даже представить, насколько усложнится задача разработки приложения, если вы решите создать программу, имеющую аналогичные возможности в операционной системе MS-DOS.
Когда вы начнете использовать в своих разработках не только функции программного интерфейса Windows (Windows API), но также и библиотеку классов MFC, создание сложных приложений Windows станет еще проще. Теперь в ваших руках будет высокоуровневое средство, включающее в себя функции Windows API.
Библиотека MFC не только служит для простого объединения функций Windows API в классы (например функции управляющие меню, объединяются в один класс, а функции управляющие панелью состояния, - в другой). Библиотека MFC обеспечивает взаимодействие составляющих ее классов, которые вместе нацелены на выполнение определенных задач. Недаром в документации и в дополнительной литературе встречается термин framework (каркас, основа, рабочая среда), употребляемый в отношении совокупности классов MFC и их внутреннему устройству.
Microsoft Visual C++ имеет еще одно средство, позволяющее упростить программисту работу и обеспечить повторное использование кода. Это так называемая галерея компонентов - Component Gallery. В нее входит набор отдельных модулей - компонент, которые программист может включать в свой проект для решения каких-либо задач.
Каждый такой компонент может содержать программный код с ресурсами и предназначается для решения определенных задач. Например, существует компонент, включив который в свой проект, вы получите возможность использовать контекстное меню, затратив минимум усилий для написания собственного программного кода. Можно сказать что компоненты - это готовые решения определенных задач, доступные вам.
Если в своей работе вы создаете классы и ресурсы, которые впоследствии потребуются вам или вашим коллегам, включите их в галерею компонентов, после чего их легко можно будет перенести в другие приложения.
После того, как вы изучите многооконные приложения и возможности использования галереи компонентов, мы рассмотрим средства библиотеки MFC, предназначенные для создания и управления меню, панелями управления и панелями состояния.
Мы также расскажем о старых знакомых - стандартных диалоговых панелях, которые представлены в библиотеки MFC отдельными классами.
В заключении мы покажем как использовать Microsoft Visual C++ и библиотеку классов MFC для доступа к базам данных. На примере мы покажем, как с помощью MFC AppWizard быстро разработать приложение для доступа к базам данных через ODBC драйверы.
Новые версии Visual C++
За короткий промежуток времени, прошедший с момента выхода нашей первой книги, посвященной MFC, Microsoft выпустила еще две версии Visual C++. В них делается основной упор на создание приложений для работы с базами данных и глобальной сетью Internet.
Microsoft Visual C++ версия 4.2
Возможности Microsoft Visual C++ версии 4.2 значительно расширены, даже по сравнению с предыдущей версией Visual C++. Ниже мы перечислили только самые интересные, на наш взгляд, новшества.
Сеть Internet
В состав версии 4.2 включены абсолютно новые классы для работы с сетью Internet, основанные на программном интерфейсе Wininet. С их помощью вы легко сможете создавать клиентские приложения для работы с серверами WWW, FTP и Goufer.
Microsoft Visual C++ версии 4.2 позволяет реализовать новую технологию ActiveX, предложенную Microsoft для использования в сети Internet. В MFC AppWizard добавлены средства, ускоряющие разработку органов управления ActiveX.
Базы
данных
Расширены возможности работы с базами данных. Внесены изменения и дополнения в классы, взаимодействующие с базами данных через ODBC, в том числе модифицированы классы CRecordset и CDatabase. Добавлены новые компоненты к Component Gallery, которые можно использовать для связи с базами данных.
Стандартная
библиотека языка Си++
В Microsoft Visual C++ версии 4.2 реализована стандартная библиотека языка Си++. В нее включены всевозможные функции, которые вы теперь можете использовать в своих программах.
Win32s посвящается
Microsoft Visual C++ версии 2.0 и все старшие версии этого продукта не позволяют разрабатывать 16-разрядные приложения для операционных систем Windows 3.хх.
Начиная с версии 4.2, приложения, подготовленные в Microsoft Visual C++ и MFC 4.2, также не будут работать в среде Windows 3.хх с установленной поддержкой 32-разрядных приложений Win32s.
Если вам все же необходимо создать приложение, способное работать в среде Win32s, следует воспользоваться более ранними версиями MFC, например MFC 4.1. К сожалению, в этом случае, последние новшества, введенные в библиотеку MFC 4.2, уже не будут вам доступны.
Microsoft Visual C++ версия 4.2, Enterpise Edition
По сравнению с обычной версией Microsoft Visual C++ 4.2, версия Enterpise Edition, значительно расширяет возможности программиста при работе с базами данных.
Если вы используете в своих программах базы данных Microsoft SQL Server или Oracle, то в окне Project Workspace появится новая страница - DataView. В ней представлены различные объекты базы данных - таблицы, хранимые процедуры, триггеры и т. д.
В состав Microsoft Visual C++ 4.2 Enterpise Edition включен отладчик, позволяющий отлаживать хранимые процедуры на языке SQL. Это значительно упрощает этап отладки программы и поиска возможных ошибок.
Интересные новшества введены и в текстовый редактор Microsoft Visual C++. Теперь он имеет возможность более полно работать с текстами на языке SQL, выделяя цветом ключевые слова этого языка.
Visual C++ и Visual J++
Летом 1996 года Microsoft выпустила тестовую версию нового продукта, получившего название Visual J++. Его название перекликается с названием Visual C++, и можно подумать, что “Жи++” стал приемником Си++. Спешим вас успокоить, Жи++ не предназначен для замены Си++. Это совершенно другой язык программирования, основанный на языке Java, лицензию на который Microsoft приобрела у известной фирмы Sun Microsystems.
Предусмотрена интеграция Visual J++ XE "Visual J++" в уже знакомую вам среду разработчика Microsoft Developer Studio. Более того, можно организовать взаимодействие Visual C++ и Visual J++.
Ресурсы
Microsoft
Вместе с Microsoft Visual C++ поставляется файл Common.res, содержащий различные ресурсы - пиктограммы, курсоры, изображения bitmap. Вы можете свободно использовать эти ресурсы в своих приложениях и распространять их.
¨ Вместо того, чтобы самому рисовать картинки для пиктограмм, панелей управления и курсоров или заказывать их у художника, обратите внимание на файл Common.res. Возможно, в нем есть то, что вам надо.
Во время установки Microsoft Visual C++ не происходит копирования файла ресурсов Common.res на жесткий диск компьютера. Поэтому вы должны скопировать его отдельно или использовать непосредственно с компакт диска. На компакт дисках Microsoft Visual C++ этот файл расположен в каталоге Msdev\Samples\Mfc\General\Clipart\.
Чтобы включить некоторые ресурсы из файла Common.res в файл ресурсов вашего приложения, откройте в Microsoft Visual C++ файл Common.res и файл ресурсов приложения. Затем скопируйте интересующие вас ресурсы и сохраните изменения на диске.
Как связаться с
авторами
Авторы имеют почтовый адрес в сети GlasNet. Все свои замечания и предложения по содержанию книг серий "Библиотека системного программиста", а также "Персональный компьютер - шаг за шагом" вы можете присылать нам по следующему адресу:
: frolov@glas.apc.org
Наш почтовый адрес доступен не только пользователям сети GlasNet. Абоненты других компьютерных сетей также могут передавать нам сообщения. Ниже мы приводим наш адрес в различных сетях:
Глобальная сеть |
Наш адрес |
CompuServe |
>internet:frolov@glas.apc.org |
GlasNet |
frolov@glas.apc.org |
Internet |
frolov@glas.apc.org |
Relcom |
frolov@glas.apc.org |
UUCP |
uunet!cdp!glas!frolov |
Вы также можете присылать свои пожелания почтой по адресу:
* Издательский отдел АО "ДИАЛОГ-МИФИ". Индекс 115409, город Москва, улица Москворечье, дом 31, корпус 2.
Приносим свои извинения за то, что не можем ответить на каждое письмо. Мы также не занимаемся рассылкой книг, дискет и исходных текстов к нашим книгам. По этому вопросу обращайтесь непосредственно в издательство “Диалог-МИФИ”.
Благодарности
Большую помощь нам оказал сотрудник Microsoft АО Юрий Тумашко, предоставивший дистрибутив Microsoft Visual C++ для работы над книгами, посвященными программированию в Windows.
Авторы выражают благодарность Фроловой Ольге Викторовне, Кустову Виктору. Мы также благодарим всех сотрудников издательского отдела АО "ДИАЛОГ-МИФИ": Голубева Олега Александровича, Дмитриеву Наталью, Виноградову Елену, Кузьминову Оксану.
Поддержку в работе над книгами нам оказали генеральный директор АО “ДиалогНаука” Антимонов Сергей Григорьевич и руководитель антивирусного отдела АО “ДиалогНаука” Лященко Юрий Павлович, предоставившие доступ к сети Internet через свой сервер.
|