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.

119 lines
3.2 KiB

  1. /*
  2. * TEMPLATE.H
  3. *
  4. * CUSTOMIZATION INSTRUCTIONS:
  5. *
  6. * Copyright (c)1992 Microsoft Corporation, All Right Reserved
  7. *
  8. *
  9. * 1. Replace <FILE> with the uppercased filename for this file.
  10. * Lowercase the <FILE>.h entry
  11. *
  12. * 2. Replace <NAME> with the mixed case dialog name in one word,
  13. * such as InsertObject
  14. *
  15. * 3. Replace <FULLNAME> with the mixed case dialog name in multiple
  16. * words, such as Insert Object
  17. *
  18. * 4. Replace <ABBREV> with the suffix for pointer variables, such
  19. * as the IO in InsertObject's pIO or the CI in ChangeIcon's pCI.
  20. * Check the alignment of the first variable declaration in the
  21. * Dialog Proc after this. I will probably be misaligned with the
  22. * rest of the variables.
  23. *
  24. * 5. Replace <STRUCT> with the uppercase structure name for this
  25. * dialog sans OLEUI, such as INSERTOBJECT. Changes OLEUI<STRUCT>
  26. * in most cases, but we also use this for IDD_<STRUCT> as the
  27. * standard template resource ID.
  28. *
  29. * 6. Find <UFILL> fields and fill them out with whatever is appropriate.
  30. *
  31. * 7. Delete this header up to the start of the next comment.
  32. *
  33. */
  34. /*
  35. * <FILE>.H
  36. *
  37. * Internal definitions, structures, and function prototypes for the
  38. * OLE 2.0 UI <FULLNAME> dialog.
  39. *
  40. * Copyright (c)1992 Microsoft Corporation, All Right Reserved
  41. */
  42. #ifndef <UFILL>
  43. #define <UFILL>
  44. //UFILL> Move from here to INTERNAL to to OLE2UI.H
  45. typedef struct tagOLEUI<STRUCT>
  46. {
  47. //These IN fields are standard across all OLEUI dialog functions.
  48. DWORD cbStruct; //Structure Size
  49. DWORD dwFlags; //IN-OUT: Flags
  50. HWND hWndOwner; //Owning window
  51. LPCTSTR lpszCaption; //Dialog caption bar contents
  52. LPFNOLEUIHOOK lpfnHook; //Hook callback
  53. LPARAM lCustData; //Custom data to pass to hook
  54. HINSTANCE hInstance; //Instance for customized template name
  55. LPCTSTR lpszTemplate; //Customized template name
  56. HRSRC hResource; //Customized template handle
  57. //Specifics for OLEUI<STRUCT>. All are IN-OUT unless otherwise spec.
  58. } OLEUI<STRUCT>, *POLEUI<STRUCT>, FAR *LPOLEUI<STRUCT>;
  59. //API Prototype
  60. UINT FAR PASCAL OleUI<NAME>(LPOLEUI<STRUCT>);
  61. //<FULLNAME> flags
  62. #define <ABBREV>F_SHOWHELP 0x00000001L
  63. <UFILL>
  64. //<FULLNAME> specific error codes
  65. //DEFINE AS OLEUI_<ABBREV>ERR_<ERROR> (OLEUI_ERR_STANDARDMAX+n)
  66. <UFILL>
  67. //<FULLNAME> Dialog identifiers
  68. //FILL IN DIALOG IDs HERE
  69. <UFILL>
  70. //INTERNAL INFORMATION STARTS HERE
  71. //Internally used structure
  72. typedef struct tag<STRUCT>
  73. {
  74. //Keep this item first as the Standard* functions depend on it here.
  75. LPOLEUI<STRUCT> lpO<ABBREV>; //Original structure passed.
  76. /*
  77. * What we store extra in this structure besides the original caller's
  78. * pointer are those fields that we need to modify during the life of
  79. * the dialog but that we don't want to change in the original structure
  80. * until the user presses OK.
  81. */
  82. <UFILL>
  83. } <STRUCT>, *P<STRUCT>;
  84. //Internal function prototypes
  85. //<FILE>.C
  86. BOOL FAR PASCAL <NAME>DialogProc(HWND, UINT, WPARAM, LPARAM);
  87. BOOL F<NAME>Init(HWND hDlg, WPARAM, LPARAM);
  88. <UFILL>
  89. #endif //<UFILL>
  90.