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. UINT nIDD; // IDD of dialog (used for help info)
  77. /*
  78. * What we store extra in this structure besides the original caller's
  79. * pointer are those fields that we need to modify during the life of
  80. * the dialog but that we don't want to change in the original structure
  81. * until the user presses OK.
  82. */
  83. <UFILL>
  84. } <STRUCT>, *P<STRUCT>;
  85. // Internal function prototypes
  86. // <FILE>.CPP
  87. BOOL FAR PASCAL <NAME>DialogProc(HWND, UINT, WPARAM, LPARAM);
  88. BOOL F<NAME>Init(HWND hDlg, WPARAM, LPARAM);
  89. <UFILL>
  90. #endif //<UFILL>