home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 April / PCWorld_2000-04_cd.bin / Software / Servis / Devc / _SETUP.4 / Group3 / prsht.h < prev    next >
C/C++ Source or Header  |  1999-11-07  |  7KB  |  245 lines

  1. #ifndef _PRSHT_H
  2. #define _PRSHT_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6.  
  7. #define MAXPROPPAGES    100
  8. #define PSP_DEFAULT    0
  9. #define PSP_DLGINDIRECT    1
  10. #define PSP_USEHICON    2
  11. #define PSP_USEICONID    4
  12. #define PSP_USETITLE    8
  13. #define PSP_RTLREADING    16
  14. #define PSP_HASHELP    32
  15. #define PSP_USEREFPARENT    64
  16. #define PSP_USECALLBACK    128
  17. #define PSPCB_RELEASE    1
  18. #define PSPCB_CREATE    2
  19. #define PSH_DEFAULT    0
  20. #define PSH_PROPTITLE    1
  21. #define PSH_USEHICON    2
  22. #define PSH_USEICONID    4
  23. #define PSH_PROPSHEETPAGE    8
  24. #define PSH_WIZARD    32
  25. #define PSH_USEPSTARTPAGE    64
  26. #define PSH_NOAPPLYNOW    128
  27. #define PSH_USECALLBACK    256
  28. #define PSH_HASHELP    512
  29. #define PSH_MODELESS    1024
  30. #define PSH_RTLREADING    2048
  31. #define PSCB_INITIALIZED    1
  32. #define PSCB_PRECREATE    2
  33. #define PSM_GETTABCONTROL    1140
  34. #define PSM_GETCURRENTPAGEHWND    1142
  35. #define PSM_ISDIALOGMESSAGE    1141
  36. #define PSM_PRESSBUTTON    1137
  37. #define PSM_SETCURSELID    1138
  38. #define PSM_SETFINISHTEXTW    1145
  39. #define PSM_SETFINISHTEXTA    1139
  40. #define PSN_FIRST    (-200)
  41. #define PSN_LAST    (-299)
  42. #define PSN_APPLY    (-202)
  43. #define PSN_HELP    (-205)
  44. #define PSN_KILLACTIVE    (-201)
  45. #define PSN_QUERYCANCEL    (-209)
  46. #define PSN_RESET    (-203)
  47. #define PSN_SETACTIVE    (-200)
  48. #define PSN_WIZBACK    (-206)
  49. #define PSN_WIZFINISH    (-208)
  50. #define PSN_WIZNEXT    (-207)
  51. #define PSNRET_NOERROR    0
  52. #define PSNRET_INVALID    1
  53. #define PSNRET_INVALID_NOCHANGEPAGE    2
  54. #define ID_PSRESTARTWINDOWS    2
  55. #define ID_PSREBOOTSYSTEM     3
  56. #define WIZ_CXDLG    276
  57. #define WIZ_CYDLG    140
  58. #define WIZ_CXBMP    80
  59. #define WIZ_BODYX    92
  60. #define WIZ_BODYCX    184
  61. #define PROP_SM_CXDLG    212
  62. #define PROP_SM_CYDLG    188
  63. #define PROP_MED_CXDLG    227
  64. #define PROP_MED_CYDLG    215
  65. #define PROP_LG_CXDLG    252
  66. #define PROP_LG_CYDLG    218
  67. #define PSBTN_MAX    6
  68. #define PSBTN_BACK    0
  69. #define PSBTN_NEXT    1
  70. #define PSBTN_FINISH    2
  71. #define PSBTN_OK    3
  72. #define PSBTN_APPLYNOW    4
  73. #define PSBTN_CANCEL    5
  74. #define PSBTN_HELP    6
  75. #define PSWIZB_BACK    1
  76. #define PSWIZB_NEXT    2
  77. #define PSWIZB_FINISH    4
  78. #define PSWIZB_DISABLEDFINISH    8
  79. #define PSM_SETWIZBUTTONS    (WM_USER+112)
  80. #define PSM_APPLY    (WM_USER+110)
  81. #define PSM_UNCHANGED    (WM_USER+109)
  82. #define PSM_QUERYSIBLINGS    (WM_USER+108)
  83. #define PSM_CANCELTOCLOSE    (WM_USER+107)
  84. #define PSM_REBOOTSYSTEM    (WM_USER+106)
  85. #define PSM_RESTARTWINDOWS    (WM_USER+105)
  86. #define PSM_CHANGED    (WM_USER+104)
  87. #define PSM_ADDPAGE    (WM_USER+103)
  88. #define PSM_REMOVEPAGE    (WM_USER+102)
  89. #define PSM_SETCURSEL    (WM_USER+101)
  90. #define PSM_SETTITLEA    (WM_USER+111)
  91. #define PSM_SETTITLEW    (WM_USER+120)
  92.  
  93. #ifndef RC_INVOKED
  94.  
  95. #pragma pack(push,8)
  96. typedef struct _PROPSHEETPAGEA {
  97.     DWORD    dwSize;
  98.     DWORD    dwFlags;
  99.     HINSTANCE    hInstance;
  100.     union {
  101.         LPCSTR    pszTemplate;
  102.         LPCDLGTEMPLATE    pResource;
  103.     } DUMMYUNIONNAME;
  104.     union {
  105.         HICON hIcon;
  106.         LPCSTR pszIcon;
  107.     } DUMMYUNIONNAME2;
  108.     LPCSTR    pszTitle;
  109.     DLGPROC    pfnDlgProc;
  110.     LPARAM    lParam;
  111.     UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEA*);
  112.     UINT *pcRefParent;
  113. } PROPSHEETPAGEA,*LPPROPSHEETPAGEA;
  114. typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
  115. typedef struct _PROPSHEETPAGEW {
  116.     DWORD    dwSize;
  117.     DWORD    dwFlags;
  118.     HINSTANCE    hInstance;
  119.     union {
  120.         LPCWSTR    pszTemplate;
  121.         LPCDLGTEMPLATE    pResource;
  122.     } DUMMYUNIONNAME;
  123.     union {
  124.         HICON hIcon;
  125.         LPCWSTR pszIcon;
  126.     } DUMMYUNIONNAME2;
  127.     LPCWSTR    pszTitle;
  128.     DLGPROC    pfnDlgProc;
  129.     LPARAM    lParam;
  130.     UINT(CALLBACK *pfnCallback)(HWND,UINT,struct _PROPSHEETPAGEW*);
  131.     UINT *pcRefParent;
  132. } PROPSHEETPAGEW,*LPPROPSHEETPAGEW;
  133. typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEW;
  134. typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA);
  135. typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW);
  136. typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
  137. DECLARE_HANDLE(HPROPSHEETPAGE);
  138. typedef struct _PROPSHEETHEADERA {
  139.     DWORD    dwSize;
  140.     DWORD    dwFlags;
  141.     HWND    hwndParent;
  142.     HINSTANCE    hInstance;
  143.     union {
  144.         HICON    hIcon;
  145.         LPCSTR    pszIcon;
  146.     }DUMMYUNIONNAME;
  147.     LPCSTR    pszCaption;
  148.     UINT    nPages;
  149.     union {
  150.         UINT    nStartPage;
  151.         LPCSTR    pStartPage;
  152.     }DUMMYUNIONNAME2;
  153.     union {
  154.         LPCPROPSHEETPAGEA ppsp;
  155.         HPROPSHEETPAGE *phpage;
  156.     }DUMMYUNIONNAME3;
  157.     PFNPROPSHEETCALLBACK pfnCallback;
  158. } PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
  159. typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
  160. typedef struct _PROPSHEETHEADERW {
  161.     DWORD    dwSize;
  162.     DWORD    dwFlags;
  163.     HWND    hwndParent;
  164.     HINSTANCE    hInstance;
  165.     union {
  166.         HICON    hIcon;
  167.         LPCWSTR    pszIcon;
  168.     }DUMMYUNIONNAME;
  169.     LPCWSTR    pszCaption;
  170.     UINT    nPages;
  171.     union {
  172.         UINT    nStartPage;
  173.         LPCWSTR    pStartPage;
  174.     }DUMMYUNIONNAME2;
  175.     union {
  176.         LPCPROPSHEETPAGEW ppsp;
  177.         HPROPSHEETPAGE *phpage;
  178.     }DUMMYUNIONNAME3;
  179.     PFNPROPSHEETCALLBACK pfnCallback;
  180. } PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
  181. typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
  182. typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
  183. typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
  184. typedef struct _PSHNOTIFY {
  185.     NMHDR hdr;
  186.     LPARAM lParam;
  187. } PSHNOTIFY,*LPPSHNOTIFY;
  188.  
  189. #pragma pack(pop)
  190.  
  191. HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA);
  192. HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW);
  193. BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE);
  194. int WINAPI PropertySheetA(LPCPROPSHEETHEADERA);
  195. int WINAPI PropertySheetW(LPCPROPSHEETHEADERW);
  196. #define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p)
  197. #define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0)
  198. #define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0)
  199. #define PropSheet_Changed(d,w) SendMessage(d,PSM_CHANGED,(WPARAM)w,0)
  200. #define PropSheet_GetCurrentPageHwnd(d) (HWND)SendMessage(d,PSM_GETCURRENTPAGEHWND,0,0)
  201. #define PropSheet_GetTabControl(d) (HWND)SendMessage(d,PSM_GETTABCONTROL,0,0)
  202. #define PropSheet_IsDialogMessage(d,m) (BOOL)SendMessage(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m)
  203. #define PropSheet_PressButton(d,i) SendMessage(d,PSM_PRESSBUTTON,i,0)
  204. #define PropSheet_QuerySiblings(d,w,l) SendMessage(d,PSM_QUERYSIBLINGS,w,l)
  205. #define PropSheet_RebootSystem(d) SendMessage(d,PSM_REBOOTSYSTEM,0,0)
  206. #define PropSheet_RemovePage(d,i,p) SendMessage(d,PSM_REMOVEPAGE,i,(LPARAM)p)
  207. #define PropSheet_RestartWindows(d) SendMessage(d,PSM_RESTARTWINDOWS,0,0)
  208. #define PropSheet_SetCurSel(d,p,i) SendMessage(d,PSM_SETCURSEL,i,(LPARAM)p)
  209. #define PropSheet_SetCurSelByID(d,i) SendMessage(d,PSM_SETCURSELID,0,i)
  210. #define PropSheet_SetFinishText(d,s) SendMessage(d,PSM_SETFINISHTEXT,0,(LPARAM)s)
  211. #define PropSheet_SetTitle(d,w,s) SendMessage(d,PSM_SETTITLE,w,(LPARAM)s)
  212. #define PropSheet_SetWizButtons(d,f) PostMessage(d,PSM_SETWIZBUTTONS,0,(LPARAM)f)
  213. #define PropSheet_UnChanged(d,w) SendMessage(d,PSM_UNCHANGED,(WPARAM)w,0)
  214. #endif
  215.  
  216. #ifdef UNICODE
  217. #define LPFNPSPCALLBACK    LPFNPSPCALLBACKW
  218. #define PROPSHEETPAGE    PROPSHEETPAGEW
  219. #define LPPROPSHEETPAGE    LPPROPSHEETPAGEW
  220. #define LPCPROPSHEETPAGE    LPCPROPSHEETPAGEW
  221. #define PROPSHEETHEADER    PROPSHEETHEADERW
  222. #define LPPROPSHEETHEADER    LPPROPSHEETHEADERW
  223. #define LPCPROPSHEETHEADER    LPCPROPSHEETHEADERW
  224. #define PSM_SETTITLE PSM_SETTITLEW
  225. #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW
  226. #define CreatePropertySheetPage CreatePropertySheetPageW
  227. #define PropertySheet PropertySheetW
  228. #else
  229. #define LPFNPSPCALLBACK    LPFNPSPCALLBACKA
  230. #define PROPSHEETPAGE    PROPSHEETPAGEA
  231. #define LPPROPSHEETPAGE    LPPROPSHEETPAGEA
  232. #define LPCPROPSHEETPAGE    LPCPROPSHEETPAGEA
  233. #define PROPSHEETHEADER    PROPSHEETHEADERA
  234. #define LPPROPSHEETHEADER    LPPROPSHEETHEADERA
  235. #define LPCPROPSHEETHEADER    LPCPROPSHEETHEADERA
  236. #define PSM_SETTITLE PSM_SETTITLEA
  237. #define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA
  238. #define CreatePropertySheetPage CreatePropertySheetPageA
  239. #define PropertySheet PropertySheetA
  240. #endif
  241. #ifdef __cplusplus
  242. }
  243. #endif
  244. #endif
  245.