Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
5.5 KiB

  1. ========================================================================
  2. CUSTOM APPWIZARD: Extensions
  3. ========================================================================
  4. AppWizard has created a Extensions DLL for you. This DLL is the starting point
  5. for writing your custom AppWizard. It demonstrates the basics of creating a
  6. custom AppWizard.
  7. Although your custom AppWizard is a DLL, it has the special suffix AWX. When
  8. you build Extensions.awx, it will automatically be copied to your Template
  9. directory. Your custom AppWizard will then appear as choice in the Project
  10. Type drop-list in the New Workspace and Insert Project dialogs. To run your
  11. custom AppWizard, simply create a new workspace (or insert a project into the
  12. current workspace), and select your custom AppWizard from the Project Type
  13. drop-list.
  14. This file contains a summary of what you will find in each of the files that
  15. make up your Extensions DLL.
  16. Extensions.mak
  17. This project file is compatible with the Visual C++ development
  18. environment. It is also compatible with the NMAKE program provided with
  19. Visual C++.
  20. To build a debug version of the program from the MS-DOS prompt, type
  21. nmake /f Extensions.mak CFG="Win32 Debug".
  22. To build a release version of the program, type
  23. nmake /f Extensions.mak CFG="Win32 Release".
  24. Extensions.cpp
  25. This file is the main DLL source file that contains the definition of
  26. DllMain(). It also exports the function GetCustomAppWizClass(), which
  27. returns a pointer to the one instance of this custom AppWizard's
  28. CCustomAppWiz-derived class.
  29. Extensions.h
  30. This file is the main header file for the DLL. It includes your
  31. RESOURCE.H file.
  32. Extensions.rc
  33. This file is a listing of all of the Microsoft Windows resources that the
  34. program uses. It includes all of your custom AppWizard's templates as
  35. custom resources of type "TEMPLATE". These resources are pointers to the
  36. files in your project's TEMPLATE directory. This file can be directly
  37. edited in the Visual C++ development environment. However, you will
  38. probably want to edit your templates by opening the template files directly
  39. in the source editor rather than by editing the "TEMPLATE" resources from
  40. the Visual C++ resource editor.
  41. Extensions.clw
  42. This file contains information used by ClassWizard to edit existing
  43. classes or add new classes. ClassWizard also uses this file to store
  44. information needed to create and edit message maps and dialog data
  45. maps and to create prototype member functions.
  46. /////////////////////////////////////////////////////////////////////////////
  47. Custom AppWizard Interface:
  48. ExtensionsAw.h, ExtensionsAw.cpp - the CCustomAppWiz class
  49. These files contain your CCustomAppWiz-derived class,
  50. CExtensionsAppWiz. This class contains virtual member functions which
  51. MFCAPWZ.DLL calls to initialize your custom AppWizard and to query which
  52. step to pop up at a given time. This class also contains m_Dictionary,
  53. a CMapStringToString member variable, which maps template macro names
  54. to their values.
  55. /////////////////////////////////////////////////////////////////////////////
  56. Template Files:
  57. Template\
  58. Put your template files in this directory. Template files are stored
  59. in your custom AppWizard as custom resources of type "TEMPLATE", and are
  60. used by your custom AppWizard to determine the contents of the files it
  61. generates. When you add a new template file to this directory, you must
  62. import that file as a "TEMPLATE" custom resource into Extensions.rc. Be
  63. sure to select the "External File" checkbox on the custom resource's
  64. property page.
  65. Template\Confirm.inf
  66. In this template you should put a description of the project your
  67. custom AppWizard generates. The file uses template macros to customize the
  68. text to reflect which options were selected by the custom AppWizard user.
  69. When the custom AppWizard user clicks the "Finish" button, MFCAPWZ.DLL
  70. parses this template and sends the output to the New Project Information
  71. dialog.
  72. Template\NewProj.inf
  73. This template lists all of the templates other than Confirm.inf and
  74. NewProj.inf which your custom AppWizard will use to generate a project.
  75. After MFCAPWZ.DLL parses this template, the output lists the other
  76. templates to be parsed and what the output files should be called.
  77. Initially, this file contains the names of the templates that were
  78. generated from the project "E:\Workspaces\ShellExtensions\ShellExtensions.dsp". You will not need to edit
  79. this template unless you add functionality to the project generated by
  80. your custom AppWizard.
  81. See the documentation on custom AppWizards for a more complete
  82. description of this template and the project generation process in general.
  83. You have also been provided with template files in this directory based
  84. off of the project "E:\Workspaces\ShellExtensions\ShellExtensions.dsp".
  85. /////////////////////////////////////////////////////////////////////////////
  86. Other Standard Files:
  87. StdAfx.h, StdAfx.cpp
  88. These files are used to build a precompiled header (PCH) file
  89. named Extensions.pch and a precompiled types file named StdAfx.obj.
  90. Rresource.h
  91. This is the standard header file, which defines new resource IDs.
  92. Visual C++ reads and updates this file.
  93. /////////////////////////////////////////////////////////////////////////////
  94. Other Notes:
  95. AppWizard uses "TODO:" to indicate parts of the source code you
  96. should add to or customize.