![]() |
![]() |
|
![]() |
||||||||||||||||||
![]() |
![]() |
![]() |
||||||||||||||||
|
![]() |
|
![]() |
|
||||||||||||||
![]() |
![]() |
![]() |
Шаг 71 - Что формирует MFC AppWizardОписаниеAppWizard формирует файлы и классы в зависимости от типа формируемого приложения. Конечно, включение поддержки баз данных и составных документов влияет на формируемые файлы. Мы рассмотрим простые случаи. SDIПри генерации приложения данного типа формируются следующие классы в виде заголовочного файла *.H и файла реализации *.CPP. Будет создано 5 классов. * - имя проекта MDIОбратите внимание, что различия очень маленькие SDI меняется на MDI. Кроме того различия очень маленькие есть в коде. Например, для формирования шаблона в SDI используется CSingleDocTemplate, а в MDI - MultiDocTemplate. * - имя проекта Dialog BasedФормируется 3 класса. * - имя проекта Некторые дополнения.Приложения созданные AppWizard уже умеют работать с командной строкой. Это реализуется функцией ProcessShellCommand. Ниже перечисляются поддерживаемые параметры. нет параметров - запускает приложения и открывает пустой файл Как видите автоматически у Вас формируется большое количество возможностей, например, перетащить файл на принтер и бросить, если зарегистрировано расширение и многое другое. Немного о кодеВ начале кода Вы можете увидеть, что-то типа - #if !defined(AFX_CHILDFRM_H__58CE2B44_BDCB_11D3_A392_000001260696__INCLUDED_) В этой надписи нет нечего страшного, это аналог - #if !defined(My_H) И создано всё это для того, чтобы исключить повторные включения в такой большой код это просто для гарантии, тем более что Вам это самим не вносить. В коде Вы можете увидеть конструкции типа. // Overrides Не меняйте нечего внутри AFX_*, так как эту конструкцию использует ClassWizard для добавления и удаления функций. | | Автор Каев Артем. |
![]() |
![]() |
![]() |
|