================================================================================ БИБЛИОТЕКА MICROSOFT FOUNDATION CLASS. Обзор проекта [!output PROJECT_NAME] =============================================================================== Это приложение [!output PROJECT_NAME] автоматически создано с помощью мастера приложений. Это приложение демонстрирует основные принципы использования классов Microsoft Foundation; оно также может использоваться в качестве основы для написания собственных приложений. В этом файле представлена сводка содержимого всех файлов, входящих в состав приложения [!output PROJECT_NAME]. [!output PROJECT_NAME].vcxproj Это основной файл проекта VC++, создаваемый с помощью мастера приложений. Он содержит данные о версии языка Visual C++, использованной для создания файла, а также сведения о платформах, конфигурациях и функциях проекта, выбранных с помощью мастера приложений. [!output PROJECT_NAME].vcxproj.filters Это файл фильтров для проектов VC++, созданный с помощью мастера приложений. Он содержит сведения о сопоставлениях между файлами в вашем проекте и фильтрами. Эти сопоставления используются в среде IDE для группировки файлов с одинаковыми расширениями в одном узле (например CPP-файлы сопоставляются с фильтром "Исходные файлы"). [!output APP_HEADER] Это основной файл заголовка приложения. Он содержит прочие заголовки, относящиеся к проекту (включая Resource.h), а также объявляет класс приложения [!output APP_CLASS]. [!output APP_IMPL] Это основной исходный файл приложения, в котором содержится класс приложения [!output APP_CLASS]. [!output RC_FILE_NAME] Он представляет собой список всех ресурсов Microsoft Windows, используемых программой. В него включены значки, точечные рисунки и курсоры, хранящиеся в подкаталоге RES. Этот файл можно редактировать непосредственно в Microsoft Visual C++. Ресурсы проекта находятся в [!output LCID]. res\[!output PROJECT_NAME].ico Файл значка, используемый в качестве значка приложения. Этот значок включен с помощью основного файла ресурсов [!output PROJECT_NAME].rc. res\[!output RC2_FILE_NAME].rc2 Этот файл содержит ресурсы, которые нельзя редактировать в Microsoft Visual C++. В этот файл следует поместить все ресурсы, не редактируемые редактором ресурсов. [!if CONTAINER_SERVER || FULL_SERVER || MINI_SERVER || AUTOMATION || HAS_SUFFIX] [!if !HTML_EDITVIEW] [!output PROJECT_NAME].reg Пример REG-файла, демонстрирующий параметры регистрации, автоматически устанавливаемые платформой. Можно использовать этот файл в качестве REG- [!if APP_TYPE_DLG] файла для приложения. [!else] файла для приложения или удалить его и применить регистрацию RegisterShellFileTypes по умолчанию. [!endif] [!if AUTOMATION] [!output SAFE_IDL_NAME].idl В этом файле содержится исходный код языка IDL для библиотеки типов приложения. [!endif] [!endif] [!endif] [!if !APP_TYPE_DLG] ///////////////////////////////////////////////////////////////////////////// Для окна главного фрейма: [!if PROJECT_STYLE_EXPLORER] Стиль проводника: проект будет включать аналогичный проводнику интерфейс с двумя фреймами. [!else] Проект включает стандартный интерфейс MFC. [!endif] [!output MAIN_FRAME_HEADER], [!output MAIN_FRAME_IMPL] Эти файлы содержат класс фрейма [!output MAIN_FRAME_CLASS], который является производным от класса [!if APP_TYPE_MDI || APP_TYPE_TABBED_MDI] [!if APP_TYPE_MDI] CMDIFrameWnd и управляет всеми функциями фрейма MDI. [!else] CMDITabbedFrameWnd и управляет всеми функциями фрейма MDI. [!endif] [!else] CFrameWnd и управляет всеми функциями фрейма SDI. [!endif] [!if PROJECT_STYLE_EXPLORER] [!output TREE_VIEW_HEADER], [!output TREE_VIEW_IMPL] Эти файлы содержат класс левого фрейма [!output TREE_VIEW_CLASS], который является производным от класса CTreeView. [!endif] [!if DOCKING_TOOLBAR || TOOLBAR_STYLE_REBAR || MENUBAR_TOOLBAR || RIBBON_TOOLBAR] res\Toolbar.bmp Этот файл точечного рисунка используется при создании мозаичных изображений для панели инструментов. Начальная панель инструментов и строка состояния, созданные в классе [!output MAIN_FRAME_CLASS]. Измените этот точечный рисунок панели инструментов в редакторе ресурсов и обновите массив IDR_MAINFRAME TOOLBAR в файле [!output PROJECT_NAME].rc, чтобы добавить кнопки панели инструментов. [!if MINI_SERVER || FULL_SERVER || CONTAINER_SERVER] res\IToolbar.bmp Этот файл точечного рисунка используется при создании мозаичных изображений для панели инструментов, если для серверного приложения выполняется встроенная активация внутри другого контейнера. Эта панель инструментов создается в классе [!output INPLACE_FRAME_CLASS]. Этот точечный рисунок аналогичен рисунку из файла res\Toolbar.bmp, однако из него удален целый ряд команд, не относящихся к серверу. [!endif] [!endif] [!if APP_TYPE_MDI || APP_TYPE_TABBED_MDI] ///////////////////////////////////////////////////////////////////////////// Для окна дочернего фрейма: ChildFrm.h, ChildFrm.cpp Эти файлы определяют и реализуют класс [!output CHILD_FRAME_CLASS], который поддерживает дочерние окна в приложении MDI. [!endif] ///////////////////////////////////////////////////////////////////////////// [!if DOCVIEW] [!if !DB_VIEW_NO_FILE] Мастер приложений создает один тип документов и одно представление: [!output DOC_HEADER], [!output DOC_IMPL] — документ Эти файлы содержат класс [!output DOC_CLASS]. Измените эти файлы, чтобы добавить особые данные документа и реализовать сохранение и загрузку файлов (посредством [!output DOC_CLASS]::Serialize). [!if HAS_SUFFIX && !HTML_EDITVIEW] Документ будет содержать следующие строки: Расширение файла: [!output FILE_EXTENSION] Идентификатор типа файла: [!output FILE_TYPE_ID] Заголовок главного фрейма: [!output MAIN_FRAME_CAPTION] Имя типа документа: [!output DOC_TYPE_NAME] Имя фильтра: [!output FILTER_NAME] Новое краткое имя файла: [!output FILE_NEW_NAME_SHORT] Полное имя типа файла: [!output FILE_NEW_NAME_LONG] [!endif] [!else] Мастер приложений создает одно представление: [!endif] [!output VIEW_HEADER], [!output VIEW_IMPL] — представление документа Эти файлы содержат класс [!output VIEW_CLASS]. [!if !DB_VIEW_NO_FILE] Объекты [!output VIEW_CLASS] используются для просмотра объектов [!output DOC_CLASS]. [!endif] [!if APP_TYPE_MDI || APP_TYPE_TABBED_MDI] res\[!output PROJECT_NAME]Doc.ico Файл значка, используемый в качестве значка дочерних окон MDI для класса [!output DOC_CLASS]. Этот значок включен с помощью основного файла ресурсов [!output PROJECT_NAME].rc. [!endif] [!endif] [!if DB_VIEW_NO_FILE || DB_VIEW_WITH_FILE] ///////////////////////////////////////////////////////////////////////////// Поддержка базы данных: [!output ROWSET_HEADER], [!output ROWSET_IMPL] Эти файлы содержат класс [!output ROWSET_CLASS]. Этот класс используется для получения доступа к источнику данных, выбранному в мастере. [!if DB_VIEW_NO_FILE] Поддержка сериализации не добавляется. [!else] Добавлена поддержка сериализации. [!endif] [!endif] [!if CONTAINER || FULL_SERVER || MINI_SERVER || CONTAINER_SERVER] ///////////////////////////////////////////////////////////////////////////// Мастер приложений также создал классы, относящиеся к OLE [!if CONTAINER || CONTAINER_SERVER] [!output CONTAINER_ITEM_HEADER], [!output CONTAINER_ITEM_IMPL] Эти файлы содержат класс [!output CONTAINER_ITEM_CLASS]. Этот класс используется для управления объектами OLE. Объекты OLE, как правило, отображаются классом [!output VIEW_CLASS] и сериализуются в составе класса [!output DOC_CLASS]. [!if ACTIVE_DOC_CONTAINER] Программа поддерживает включение активных документов в свой фрейм. [!endif] [!endif] [!if MINI_SERVER || FULL_SERVER || CONTAINER_SERVER] [!output SERVER_ITEM_HEADER], [!output SERVER_ITEM_IMPL] Эти файлы содержат класс [!output SERVER_ITEM_CLASS]. Этот класс используется для подключения класса [!output DOC_CLASS] к системе OLE; при необходимости он предоставляет ссылки на ваш документ. [!if ACTIVE_DOC_SERVER] Проект поддерживает создание активных документов и управление ими. [!endif] [!output INPLACE_FRAME_HEADER], [!output INPLACE_FRAME_IMPL] Эти файлы содержат класс [!output INPLACE_FRAME_CLASS]. Этот класс является производным от COleIPFrameWnd; он управляет всеми функциями фрейма в ходе встроенной активации. [!endif] [!if SUPPORT_COMPOUND_FILES] Проект поддерживает составные файлы. Формат составного файла сохраняет документ, содержащий один или несколько объектов автоматизации, в один файл и, тем не менее, обеспечивает доступ к нему для отдельных объектов. [!endif] [!endif] [!else] ///////////////////////////////////////////////////////////////////////////// [!if AUTOMATION] Мастер приложений создает один класс диалогового окна и прокси-класс автоматизации: [!else] Мастер приложений создает один класс диалогового окна: [!endif] [!output DIALOG_HEADER], [!output DIALOG_IMPL] — диалоговое окно Эти файлы содержат класс [!output DIALOG_CLASS]. Этот класс определяет поведение главного диалогового окна приложения. Шаблон диалогового окна находится в файле [!output PROJECT_NAME].rc, который можно изменять с помощью Microsoft Visual C++. [!if AUTOMATION] [!output DIALOG_AUTO_PROXY_HEADER], [!output DIALOG_AUTO_PROXY_IMPL] — объект автоматизации Эти файлы содержат класс [!output DIALOG_AUTO_PROXY_CLASS]. Этот класс называется прокси-классом автоматизации для диалогового окна, поскольку он отвечает за предоставление методов и свойств автоматизации, которые могут использоваться контроллерами автоматизации для доступа к данному диалоговому окну. Эти методы и свойства не предоставляются непосредственно классом диалогового окна, поскольку при создании приложений MFC на основе модальных диалоговых окон проще и удобнее хранить объекты автоматизации отдельно от пользовательского интерфейса. [!endif] [!endif] [!if ACTIVEX_CONTROLS || PRINTING || SPLITTER || MAPI || SOCKETS] ///////////////////////////////////////////////////////////////////////////// Другие возможности. [!if ACTIVEX_CONTROLS] Элементы управления ActiveX Приложение включает поддержку элементов управления ActiveX. [!endif] [!if PRINTING] Поддержка печати и предварительного просмотра Мастер приложений создал код для обработки команд печати, настройки печати и предварительного просмотра, используя вызовы функций-членов в классе CView из библиотеки MFC. [!endif] [!if DB_SUPPORT_HEADER_ONLY && !APP_TYPE_DLG] Поддержка базы данных Мастер приложений добавил базовый уровень поддержки базы данных для программы. Включены только необходимые файлы. [!endif] [!if SPLITTER && !APP_TYPE_DLG] Разделенное окно Мастер приложений добавил поддержку окон с разделителем для документов приложения. [!endif] [!if MAPI] Поддержка MAPI Созданный проект содержит код, необходимый для создания, передачи и хранения почтовых сообщений, а также для управления ими. [!endif] [!if SOCKETS] Windows Sockets Приложение поддерживает связь по сетям TCP/IP. [!endif] [!endif] ///////////////////////////////////////////////////////////////////////////// Другие стандартные файлы: StdAfx.h, StdAfx.cpp Эти файлы используются для построения файла предкомпилированного заголовка (PCH) с именем [!output PROJECT_NAME].pch и файла предкомпилированных типов с именем StdAfx.obj. Resource.h Это стандартный файл заголовка, в котором определяются новые идентификаторы ресурсов. Такой файл можно прочитать и обновить в Microsoft Visual C++. [!if MANIFEST] [!output PROJECT_NAME].manifest Файлы манифеста приложения используются операционной системой Windows XP для описания зависимости приложений от определенных версий параллельных сборок. Эти сведения используются загрузчиком для загрузки соответствующей сборки из кэша сборок или частным образом из приложения. Манифест приложения можно включить для распространения в качестве внешнего MANIFEST-файла, устанавливаемого в одной папке с исполняемым файлом приложения, или внедрить в исполняемый файл в виде ресурса. [!endif] ///////////////////////////////////////////////////////////////////////////// Прочие примечания. С помощью комментариев «TODO:» в мастере приложений обозначаются фрагменты исходного кода, которые необходимо дополнить или изменить. [!if APP_TYPE_MDI || APP_TYPE_TABBED_MDI || APP_TYPE_SDI || APP_TYPE_DLG || APP_TYPE_MTLD] Если приложение использует MFC в общей библиотеке DLL, необходимо обеспечить распространение библиотек DLL MFC. Если в приложении используется язык, отличный от языка операционной системы, потребуется также обеспечить распространение соответствующих локализованных ресурсов mfc110XXX.DLL. Дополнительные сведения о выполнении этих задач см. в разделе документации MSDN, посвященном распространению приложений Visual C++. [!endif] /////////////////////////////////////////////////////////////////////////////