Reactos
at master 681 lines 20 kB view raw
1#ifndef _COMMDLG_H 2#define _COMMDLG_H 3 4#ifdef __cplusplus 5extern "C" { 6#endif 7 8#ifndef _WIN64 9#pragma pack(push,1) 10#endif 11 12#define SAVE_DIALOG 1 13#define OPEN_DIALOG 2 14 15#define LBSELCHSTRINGA "commdlg_LBSelChangedNotify" 16#define SHAREVISTRINGA "commdlg_ShareViolation" 17#define FILEOKSTRINGA "commdlg_FileNameOK" 18#define COLOROKSTRINGA "commdlg_ColorOK" 19#define SETRGBSTRINGA "commdlg_SetRGBColor" 20#define HELPMSGSTRINGA "commdlg_help" 21#define FINDMSGSTRINGA "commdlg_FindReplace" 22#define LBSELCHSTRINGW L"commdlg_LBSelChangedNotify" 23#define SHAREVISTRINGW L"commdlg_ShareViolation" 24#define FILEOKSTRINGW L"commdlg_FileNameOK" 25#define COLOROKSTRINGW L"commdlg_ColorOK" 26#define SETRGBSTRINGW L"commdlg_SetRGBColor" 27#define HELPMSGSTRINGW L"commdlg_help" 28#define FINDMSGSTRINGW L"commdlg_FindReplace" 29#ifndef CDN_FIRST 30#define CDN_FIRST ((UINT)-601) /* also in commctrl.h */ 31#define CDN_LAST ((UINT)-699) 32#endif 33#define CDN_INITDONE CDN_FIRST 34#define CDN_SELCHANGE (CDN_FIRST-1U) 35#define CDN_FOLDERCHANGE (CDN_FIRST-2U) 36#define CDN_SHAREVIOLATION (CDN_FIRST-3U) 37#define CDN_HELP (CDN_FIRST-4U) 38#define CDN_FILEOK (CDN_FIRST-5U) 39#define CDN_TYPECHANGE (CDN_FIRST-6U) 40#define CDN_INCLUDEITEM (CDN_FIRST-7U) 41#define CDM_FIRST (WM_USER+100) 42#define CDM_LAST (WM_USER+200) 43#define CDM_GETSPEC CDM_FIRST 44#define CDM_GETFILEPATH (CDM_FIRST+1) 45#define CDM_GETFOLDERPATH (CDM_FIRST+2) 46#define CDM_GETFOLDERIDLIST (CDM_FIRST+3) 47#define CDM_SETCONTROLTEXT (CDM_FIRST+4) 48#define CDM_HIDECONTROL (CDM_FIRST+5) 49#define CDM_SETDEFEXT (CDM_FIRST+6) 50#define CC_RGBINIT 1 51#define CC_FULLOPEN 2 52#define CC_PREVENTFULLOPEN 4 53#define CC_SHOWHELP 8 54#define CC_ENABLEHOOK 16 55#define CC_ENABLETEMPLATE 32 56#define CC_ENABLETEMPLATEHANDLE 64 57#define CC_SOLIDCOLOR 128 58#define CC_ANYCOLOR 256 59#define CF_SCREENFONTS 1 60#define CF_PRINTERFONTS 2 61#define CF_BOTH 3 62#define CF_SHOWHELP 4 63#define CF_ENABLEHOOK 8 64#define CF_ENABLETEMPLATE 16 65#define CF_ENABLETEMPLATEHANDLE 32 66#define CF_INITTOLOGFONTSTRUCT 64 67#define CF_USESTYLE 128 68#define CF_EFFECTS 256 69#define CF_APPLY 512 70#define CF_ANSIONLY 1024 71#define CF_SCRIPTSONLY CF_ANSIONLY 72#define CF_NOVECTORFONTS 2048 73#define CF_NOOEMFONTS 2048 74#define CF_NOSIMULATIONS 4096 75#define CF_LIMITSIZE 8192 76#define CF_FIXEDPITCHONLY 16384 77#define CF_WYSIWYG 32768 78#define CF_FORCEFONTEXIST 65536 79#define CF_SCALABLEONLY 131072 80#define CF_TTONLY 262144 81#define CF_NOFACESEL 524288 82#define CF_NOSTYLESEL 1048576 83#define CF_NOSIZESEL 2097152 84#define CF_SELECTSCRIPT 4194304 85#define CF_NOSCRIPTSEL 8388608 86#define CF_NOVERTFONTS 0x1000000 87#define SIMULATED_FONTTYPE 0x8000 88#define PRINTER_FONTTYPE 0x4000 89#define SCREEN_FONTTYPE 0x2000 90#define BOLD_FONTTYPE 0x100 91#define ITALIC_FONTTYPE 0x0200 92#define REGULAR_FONTTYPE 0x0400 93#define WM_CHOOSEFONT_GETLOGFONT (WM_USER+1) 94#define WM_CHOOSEFONT_SETLOGFONT (WM_USER+101) 95#define WM_CHOOSEFONT_SETFLAGS (WM_USER+102) 96#define OFN_ALLOWMULTISELECT 512 97#define OFN_CREATEPROMPT 0x2000 98#define OFN_DONTADDTORECENT 0x2000000 99#define OFN_ENABLEHOOK 32 100#define OFN_ENABLEINCLUDENOTIFY 0x400000 101#define OFN_ENABLESIZING 0x800000 102#define OFN_ENABLETEMPLATE 64 103#define OFN_ENABLETEMPLATEHANDLE 128 104#define OFN_EXPLORER 0x80000 105#define OFN_EXTENSIONDIFFERENT 0x400 106#define OFN_FILEMUSTEXIST 0x1000 107#define OFN_HIDEREADONLY 4 108#define OFN_LONGNAMES 0x200000 109#define OFN_NOCHANGEDIR 8 110#define OFN_NODEREFERENCELINKS 0x100000 111#define OFN_NOLONGNAMES 0x40000 112#define OFN_NONETWORKBUTTON 0x20000 113#define OFN_NOREADONLYRETURN 0x8000 114#define OFN_NOTESTFILECREATE 0x10000 115#define OFN_NOVALIDATE 256 116#define OFN_OVERWRITEPROMPT 2 117#define OFN_PATHMUSTEXIST 0x800 118#define OFN_READONLY 1 119#define OFN_SHAREAWARE 0x4000 120#define OFN_SHOWHELP 16 121#define OFN_EX_NOPLACESBAR 0x00000001 122#define OFN_SHAREFALLTHROUGH 2 123#define OFN_SHARENOWARN 1 124#define OFN_SHAREWARN 0 125#define OFN_NODEREFERENCELINKS 0x100000 126#define FR_DIALOGTERM 64 127#define FR_DOWN 1 128#define FR_ENABLEHOOK 256 129#define FR_ENABLETEMPLATE 512 130#define FR_ENABLETEMPLATEHANDLE 0x2000 131#define FR_FINDNEXT 8 132#define FR_HIDEUPDOWN 0x4000 133#define FR_HIDEMATCHCASE 0x8000 134#define FR_HIDEWHOLEWORD 0x10000 135#define FR_MATCHALEFHAMZA 0x80000000 136#define FR_MATCHCASE 4 137#define FR_MATCHDIAC 0x20000000 138#define FR_MATCHKASHIDA 0x40000000 139#define FR_NOMATCHCASE 0x800 140#define FR_NOUPDOWN 0x400 141#define FR_NOWHOLEWORD 4096 142#define FR_REPLACE 16 143#define FR_REPLACEALL 32 144#define FR_SHOWHELP 128 145#define FR_WHOLEWORD 2 146#define PD_ALLPAGES 0 147#define PD_SELECTION 1 148#define PD_PAGENUMS 2 149#define PD_NOSELECTION 4 150#define PD_NOPAGENUMS 8 151#define PD_COLLATE 16 152#define PD_PRINTTOFILE 32 153#define PD_PRINTSETUP 64 154#define PD_NOWARNING 128 155#define PD_RETURNDC 256 156#define PD_RETURNIC 512 157#define PD_RETURNDEFAULT 1024 158#define PD_SHOWHELP 2048 159#define PD_ENABLEPRINTHOOK 4096 160#define PD_ENABLESETUPHOOK 8192 161#define PD_ENABLEPRINTTEMPLATE 16384 162#define PD_ENABLESETUPTEMPLATE 32768 163#define PD_ENABLEPRINTTEMPLATEHANDLE 65536 164#define PD_ENABLESETUPTEMPLATEHANDLE 0x20000 165#define PD_USEDEVMODECOPIES 0x40000 166#define PD_USEDEVMODECOPIESANDCOLLATE 0x40000 167#define PD_DISABLEPRINTTOFILE 0x80000 168#define PD_HIDEPRINTTOFILE 0x100000 169#define PD_NONETWORKBUTTON 0x200000 170#define PSD_DEFAULTMINMARGINS 0 171#define PSD_INWININIINTLMEASURE 0 172#define PSD_MINMARGINS 1 173#define PSD_MARGINS 2 174#define PSD_INTHOUSANDTHSOFINCHES 4 175#define PSD_INHUNDREDTHSOFMILLIMETERS 8 176#define PSD_DISABLEMARGINS 16 177#define PSD_DISABLEPRINTER 32 178#define PSD_NOWARNING 128 179#define PSD_DISABLEORIENTATION 256 180#define PSD_DISABLEPAPER 512 181#define PSD_RETURNDEFAULT 1024 182#define PSD_SHOWHELP 2048 183#define PSD_ENABLEPAGESETUPHOOK 8192 184#define PSD_ENABLEPAGESETUPTEMPLATE 0x8000 185#define PSD_ENABLEPAGESETUPTEMPLATEHANDLE 0x20000 186#define PSD_ENABLEPAGEPAINTHOOK 0x40000 187#define PSD_DISABLEPAGEPAINTING 0x80000 188#define WM_PSD_PAGESETUPDLG WM_USER 189#define WM_PSD_FULLPAGERECT (WM_USER+1) 190#define WM_PSD_MINMARGINRECT (WM_USER+2) 191#define WM_PSD_MARGINRECT (WM_USER+3) 192#define WM_PSD_GREEKTEXTRECT (WM_USER+4) 193#define WM_PSD_ENVSTAMPRECT (WM_USER+5) 194#define WM_PSD_YAFULLPAGERECT (WM_USER+6) 195#define CD_LBSELNOITEMS (-1) 196#define CD_LBSELCHANGE 0 197#define CD_LBSELSUB 1 198#define CD_LBSELADD 2 199#define DN_DEFAULTPRN 1 200 201#define PD_RESULT_CANCEL 0 202#define PD_RESULT_PRINT 1 203#define PD_RESULT_APPLY 2 204 205#define START_PAGE_GENERAL 0xffffffff 206 207#ifndef SNDMSG 208#ifdef __cplusplus 209#define SNDMSG ::SendMessage 210#else 211#define SNDMSG SendMessage 212#endif 213#endif /* ifndef SNDMSG */ 214 215#define CommDlg_OpenSave_GetSpec(d,s,m) ((int)SNDMSG((d),CDM_GETSPEC,(m),(LPARAM)(s))) 216#define CommDlg_OpenSave_GetSpecA CommDlg_OpenSave_GetSpec 217#define CommDlg_OpenSave_GetSpecW CommDlg_OpenSave_GetSpec 218#define CommDlg_OpenSave_GetFilePath(d,s,m) ((int)SNDMSG((d),CDM_GETFILEPATH,(m),(LPARAM)(s))) 219#define CommDlg_OpenSave_GetFilePathA CommDlg_OpenSave_GetFilePath 220#define CommDlg_OpenSave_GetFilePathW CommDlg_OpenSave_GetFilePath 221#define CommDlg_OpenSave_GetFolderPath(d,s,m) ((int)SNDMSG((d),CDM_GETFOLDERPATH,(m),(LPARAM)(LPSTR)(s))) 222#define CommDlg_OpenSave_GetFolderPathA CommDlg_OpenSave_GetFolderPath 223#define CommDlg_OpenSave_GetFolderPathW CommDlg_OpenSave_GetFolderPath 224#define CommDlg_OpenSave_GetFolderIDList(d,i,m) ((int)SNDMSG((d),CDM_GETFOLDERIDLIST,(m),(LPARAM)(i))) 225#define CommDlg_OpenSave_SetControlText(d,i,t) ((void)SNDMSG((d),CDM_SETCONTROLTEXT,(i),(LPARAM)(t))) 226#define CommDlg_OpenSave_HideControl(d,i) ((void)SNDMSG((d),CDM_HIDECONTROL,(i),0)) 227#define CommDlg_OpenSave_SetDefExt(d,e) ((void)SNDMSG((d),CDM_SETDEFEXT,0,(LPARAM)(e))) 228 229typedef UINT_PTR (CALLBACK *__CDHOOKPROC)(HWND,UINT,WPARAM,LPARAM); 230typedef __CDHOOKPROC LPCCHOOKPROC; 231typedef __CDHOOKPROC LPCFHOOKPROC; 232typedef __CDHOOKPROC LPFRHOOKPROC; 233typedef __CDHOOKPROC LPOFNHOOKPROC; 234typedef __CDHOOKPROC LPPAGEPAINTHOOK; 235typedef __CDHOOKPROC LPPAGESETUPHOOK; 236typedef __CDHOOKPROC LPSETUPHOOKPROC; 237typedef __CDHOOKPROC LPPRINTHOOKPROC; 238typedef struct tagCHOOSECOLORA { 239 DWORD lStructSize; 240 HWND hwndOwner; 241 HWND hInstance; 242 COLORREF rgbResult; 243 COLORREF* lpCustColors; 244 DWORD Flags; 245 LPARAM lCustData; 246 LPCCHOOKPROC lpfnHook; 247 LPCSTR lpTemplateName; 248} CHOOSECOLORA,*LPCHOOSECOLORA; 249typedef struct tagCHOOSECOLORW { 250 DWORD lStructSize; 251 HWND hwndOwner; 252 HWND hInstance; 253 COLORREF rgbResult; 254 COLORREF* lpCustColors; 255 DWORD Flags; 256 LPARAM lCustData; 257 LPCCHOOKPROC lpfnHook; 258 LPCWSTR lpTemplateName; 259} CHOOSECOLORW,*LPCHOOSECOLORW; 260typedef struct tagCHOOSEFONTA { 261 DWORD lStructSize; 262 HWND hwndOwner; 263 HDC hDC; 264 LPLOGFONTA lpLogFont; 265 INT iPointSize; 266 DWORD Flags; 267 DWORD rgbColors; 268 LPARAM lCustData; 269 LPCFHOOKPROC lpfnHook; 270 LPCSTR lpTemplateName; 271 HINSTANCE hInstance; 272 LPSTR lpszStyle; 273 WORD nFontType; 274 WORD ___MISSING_ALIGNMENT__; 275 INT nSizeMin; 276 INT nSizeMax; 277} CHOOSEFONTA,*LPCHOOSEFONTA; 278typedef struct tagCHOOSEFONTW { 279 DWORD lStructSize; 280 HWND hwndOwner; 281 HDC hDC; 282 LPLOGFONTW lpLogFont; 283 INT iPointSize; 284 DWORD Flags; 285 DWORD rgbColors; 286 LPARAM lCustData; 287 LPCFHOOKPROC lpfnHook; 288 LPCWSTR lpTemplateName; 289 HINSTANCE hInstance; 290 LPWSTR lpszStyle; 291 WORD nFontType; 292 WORD ___MISSING_ALIGNMENT__; 293 INT nSizeMin; 294 INT nSizeMax; 295} CHOOSEFONTW,*LPCHOOSEFONTW; 296typedef struct tagDEVNAMES { 297 WORD wDriverOffset; 298 WORD wDeviceOffset; 299 WORD wOutputOffset; 300 WORD wDefault; 301} DEVNAMES,*LPDEVNAMES; 302typedef struct { 303 DWORD lStructSize; 304 HWND hwndOwner; 305 HINSTANCE hInstance; 306 DWORD Flags; 307 LPSTR lpstrFindWhat; 308 LPSTR lpstrReplaceWith; 309 WORD wFindWhatLen; 310 WORD wReplaceWithLen; 311 LPARAM lCustData; 312 LPFRHOOKPROC lpfnHook; 313 LPCSTR lpTemplateName; 314} FINDREPLACEA,*LPFINDREPLACEA; 315typedef struct { 316 DWORD lStructSize; 317 HWND hwndOwner; 318 HINSTANCE hInstance; 319 DWORD Flags; 320 LPWSTR lpstrFindWhat; 321 LPWSTR lpstrReplaceWith; 322 WORD wFindWhatLen; 323 WORD wReplaceWithLen; 324 LPARAM lCustData; 325 LPFRHOOKPROC lpfnHook; 326 LPCWSTR lpTemplateName; 327} FINDREPLACEW,*LPFINDREPLACEW; 328typedef struct tagOFNA { 329 DWORD lStructSize; 330 HWND hwndOwner; 331 HINSTANCE hInstance; 332 LPCSTR lpstrFilter; 333 LPSTR lpstrCustomFilter; 334 DWORD nMaxCustFilter; 335 DWORD nFilterIndex; 336 LPSTR lpstrFile; 337 DWORD nMaxFile; 338 LPSTR lpstrFileTitle; 339 DWORD nMaxFileTitle; 340 LPCSTR lpstrInitialDir; 341 LPCSTR lpstrTitle; 342 DWORD Flags; 343 WORD nFileOffset; 344 WORD nFileExtension; 345 LPCSTR lpstrDefExt; 346 LPARAM lCustData; 347 LPOFNHOOKPROC lpfnHook; 348 LPCSTR lpTemplateName; 349#ifdef _MAC 350 LPEDITMENU lpEditInfo; 351 LPCSTR lpstrPrompt; 352#endif 353#if (_WIN32_WINNT >= 0x0500) 354 void *pvReserved; 355 DWORD dwReserved; 356 DWORD FlagsEx; 357#endif 358} OPENFILENAMEA,*LPOPENFILENAMEA; 359typedef struct tagOFNW { 360 DWORD lStructSize; 361 HWND hwndOwner; 362 HINSTANCE hInstance; 363 LPCWSTR lpstrFilter; 364 LPWSTR lpstrCustomFilter; 365 DWORD nMaxCustFilter; 366 DWORD nFilterIndex; 367 LPWSTR lpstrFile; 368 DWORD nMaxFile; 369 LPWSTR lpstrFileTitle; 370 DWORD nMaxFileTitle; 371 LPCWSTR lpstrInitialDir; 372 LPCWSTR lpstrTitle; 373 DWORD Flags; 374 WORD nFileOffset; 375 WORD nFileExtension; 376 LPCWSTR lpstrDefExt; 377 LPARAM lCustData; 378 LPOFNHOOKPROC lpfnHook; 379 LPCWSTR lpTemplateName; 380#ifdef _MAC 381 LPEDITMENU lpEditInfo; 382 LPCSTR lpstrPrompt; 383#endif 384#if (_WIN32_WINNT >= 0x0500) 385 void *pvReserved; 386 DWORD dwReserved; 387 DWORD FlagsEx; 388#endif 389} OPENFILENAMEW,*LPOPENFILENAMEW; 390 391 392#ifndef CDSIZEOF_STRUCT 393#define CDSIZEOF_STRUCT(type,field) ((INT_PTR)&(((type *)0)->field) + sizeof(((type*)0)->field)) 394#endif 395 396#define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName) 397#define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName) 398 399#ifdef UNICODE 400#define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400W 401#else 402#define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400A 403#endif 404 405typedef struct _OFNOTIFYA { 406 NMHDR hdr; 407 LPOPENFILENAMEA lpOFN; 408 LPSTR pszFile; 409} OFNOTIFYA,*LPOFNOTIFYA; 410typedef struct _OFNOTIFYW { 411 NMHDR hdr; 412 LPOPENFILENAMEW lpOFN; 413 LPWSTR pszFile; 414} OFNOTIFYW,*LPOFNOTIFYW; 415 416typedef struct _OFNOTIFYEXA 417{ 418 NMHDR hdr; 419 LPOPENFILENAMEA lpOFN; 420 LPVOID psf; 421 LPVOID pidl; 422} OFNOTIFYEXA, *LPOFNOTIFYEXA; 423 424typedef struct _OFNOTIFYEXW 425{ 426 NMHDR hdr; 427 LPOPENFILENAMEW lpOFN; 428 LPVOID psf; 429 LPVOID pidl; 430} OFNOTIFYEXW, *LPOFNOTIFYEXW; 431 432typedef struct tagPSDA { 433 DWORD lStructSize; 434 HWND hwndOwner; 435 HGLOBAL hDevMode; 436 HGLOBAL hDevNames; 437 DWORD Flags; 438 POINT ptPaperSize; 439 RECT rtMinMargin; 440 RECT rtMargin; 441 HINSTANCE hInstance; 442 LPARAM lCustData; 443 LPPAGESETUPHOOK lpfnPageSetupHook; 444 LPPAGEPAINTHOOK lpfnPagePaintHook; 445 LPCSTR lpPageSetupTemplateName; 446 HGLOBAL hPageSetupTemplate; 447} PAGESETUPDLGA,*LPPAGESETUPDLGA; 448typedef struct tagPSDW { 449 DWORD lStructSize; 450 HWND hwndOwner; 451 HGLOBAL hDevMode; 452 HGLOBAL hDevNames; 453 DWORD Flags; 454 POINT ptPaperSize; 455 RECT rtMinMargin; 456 RECT rtMargin; 457 HINSTANCE hInstance; 458 LPARAM lCustData; 459 LPPAGESETUPHOOK lpfnPageSetupHook; 460 LPPAGEPAINTHOOK lpfnPagePaintHook; 461 LPCWSTR lpPageSetupTemplateName; 462 HGLOBAL hPageSetupTemplate; 463} PAGESETUPDLGW,*LPPAGESETUPDLGW; 464typedef struct tagPDA { 465 DWORD lStructSize; 466 HWND hwndOwner; 467 HGLOBAL hDevMode; 468 HGLOBAL hDevNames; 469 HDC hDC; 470 DWORD Flags; 471 WORD nFromPage; 472 WORD nToPage; 473 WORD nMinPage; 474 WORD nMaxPage; 475 WORD nCopies; 476 HINSTANCE hInstance; 477 LPARAM lCustData; 478 LPPRINTHOOKPROC lpfnPrintHook; 479 LPSETUPHOOKPROC lpfnSetupHook; 480 LPCSTR lpPrintTemplateName; 481 LPCSTR lpSetupTemplateName; 482 HGLOBAL hPrintTemplate; 483 HGLOBAL hSetupTemplate; 484} PRINTDLGA, *LPPRINTDLGA; 485typedef struct tagPDW { 486 DWORD lStructSize; 487 HWND hwndOwner; 488 HGLOBAL hDevMode; 489 HGLOBAL hDevNames; 490 HDC hDC; 491 DWORD Flags; 492 WORD nFromPage; 493 WORD nToPage; 494 WORD nMinPage; 495 WORD nMaxPage; 496 WORD nCopies; 497 HINSTANCE hInstance; 498 LPARAM lCustData; 499 LPPRINTHOOKPROC lpfnPrintHook; 500 LPSETUPHOOKPROC lpfnSetupHook; 501 LPCWSTR lpPrintTemplateName; 502 LPCWSTR lpSetupTemplateName; 503 HGLOBAL hPrintTemplate; 504 HGLOBAL hSetupTemplate; 505} PRINTDLGW, *LPPRINTDLGW; 506#if (WINVER >= 0x0500) && !defined (__OBJC__) 507#include <prsht.h> /* for HPROPSHEETPAGE */ 508typedef struct tagPRINTPAGERANGE { 509 DWORD nFromPage; 510 DWORD nToPage; 511} PRINTPAGERANGE, *LPPRINTPAGERANGE; 512typedef struct tagPDEXA { 513 DWORD lStructSize; 514 HWND hwndOwner; 515 HGLOBAL hDevMode; 516 HGLOBAL hDevNames; 517 HDC hDC; 518 DWORD Flags; 519 DWORD Flags2; 520 DWORD ExclusionFlags; 521 DWORD nPageRanges; 522 DWORD nMaxPageRanges; 523 LPPRINTPAGERANGE lpPageRanges; 524 DWORD nMinPage; 525 DWORD nMaxPage; 526 DWORD nCopies; 527 HINSTANCE hInstance; 528 LPCSTR lpPrintTemplateName; 529 void* /*LPUNKNOWN*/ lpCallback; 530 DWORD nPropertyPages; 531 HPROPSHEETPAGE *lphPropertyPages; 532 DWORD nStartPage; 533 DWORD dwResultAction; 534} PRINTDLGEXA, *LPPRINTDLGEXA; 535typedef struct tagPDEXW { 536 DWORD lStructSize; 537 HWND hwndOwner; 538 HGLOBAL hDevMode; 539 HGLOBAL hDevNames; 540 HDC hDC; 541 DWORD Flags; 542 DWORD Flags2; 543 DWORD ExclusionFlags; 544 DWORD nPageRanges; 545 DWORD nMaxPageRanges; 546 LPPRINTPAGERANGE lpPageRanges; 547 DWORD nMinPage; 548 DWORD nMaxPage; 549 DWORD nCopies; 550 HINSTANCE hInstance; 551 LPCWSTR lpPrintTemplateName; 552 void* /*LPUNKNOWN*/ lpCallback; 553 DWORD nPropertyPages; 554 HPROPSHEETPAGE *lphPropertyPages; 555 DWORD nStartPage; 556 DWORD dwResultAction; 557} PRINTDLGEXW, *LPPRINTDLGEXW; 558#endif /* WINVER >= 0x0500 */ 559 560#ifdef STDMETHOD 561 562DEFINE_GUID(IID_IPrintDialogCallback, 0x5852a2c3,0x6530,0x11d1,0xb6,0xa3,0x00,0x00,0xf8,0x75,0x7b,0xf9); 563#define INTERFACE IPrintDialogCallback 564DECLARE_INTERFACE_(IPrintDialogCallback,IUnknown) 565{ 566 /*** IUnknown methods ***/ 567 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE; 568 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 569 STDMETHOD_(ULONG,Release)(THIS) PURE; 570 /*** IPrintDialogCallback methods ***/ 571 STDMETHOD(InitDone)(THIS) PURE; 572 STDMETHOD(SelectionChange)(THIS) PURE; 573 STDMETHOD(HandleMessage)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT *) PURE; 574}; 575#undef INTERFACE 576 577DEFINE_GUID(IID_IPrintDialogServices, 0x509aaeda,0x5639,0x11d1,0xb6,0xa1,0x00,0x00,0xf8,0x75,0x7b,0xf9); 578#define INTERFACE IPrintDialogServices 579DECLARE_INTERFACE_(IPrintDialogServices,IUnknown) 580{ 581 /*** IUnknown methods ***/ 582 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID,void **) PURE; 583 STDMETHOD_(ULONG,AddRef)(THIS) PURE; 584 STDMETHOD_(ULONG,Release)(THIS) PURE; 585 /*** IPrintDialogServices methods ***/ 586 STDMETHOD(GetCurrentDevMode)(THIS_ LPDEVMODEW,UINT *) PURE; 587 STDMETHOD(GetCurrentPrinterName)(THIS_ LPWSTR,UINT *) PURE; 588 STDMETHOD(GetCurrentPortName)(THIS_ LPWSTR,UINT *) PURE; 589}; 590#undef INTERFACE 591 592#endif /* STDMETHOD */ 593 594BOOL WINAPI ChooseColorA(LPCHOOSECOLORA); 595BOOL WINAPI ChooseColorW(LPCHOOSECOLORW); 596BOOL WINAPI ChooseFontA(LPCHOOSEFONTA); 597BOOL WINAPI ChooseFontW(LPCHOOSEFONTW); 598DWORD WINAPI CommDlgExtendedError(void); 599HWND WINAPI FindTextA(LPFINDREPLACEA); 600HWND WINAPI FindTextW(LPFINDREPLACEW); 601short WINAPI GetFileTitleA(LPCSTR,LPSTR,WORD); 602short WINAPI GetFileTitleW(LPCWSTR,LPWSTR,WORD); 603BOOL WINAPI GetOpenFileNameA(LPOPENFILENAMEA); 604BOOL WINAPI GetOpenFileNameW(LPOPENFILENAMEW); 605BOOL WINAPI GetSaveFileNameA(LPOPENFILENAMEA); 606BOOL WINAPI GetSaveFileNameW(LPOPENFILENAMEW); 607BOOL WINAPI PageSetupDlgA(LPPAGESETUPDLGA); 608BOOL WINAPI PageSetupDlgW(LPPAGESETUPDLGW); 609BOOL WINAPI PrintDlgA(LPPRINTDLGA); 610BOOL WINAPI PrintDlgW(LPPRINTDLGW); 611HWND WINAPI ReplaceTextA(LPFINDREPLACEA); 612HWND WINAPI ReplaceTextW(LPFINDREPLACEW); 613#if (WINVER >= 0x0500) && !defined (__OBJC__) 614HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA); 615HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW); 616#endif /* WINVER >= 0x0500 */ 617 618#ifdef UNICODE 619#define LBSELCHSTRING LBSELCHSTRINGW 620#define SHAREVISTRING SHAREVISTRINGW 621#define FILEOKSTRING FILEOKSTRINGW 622#define COLOROKSTRING COLOROKSTRINGW 623#define SETRGBSTRING SETRGBSTRINGW 624#define HELPMSGSTRING HELPMSGSTRINGW 625#define FINDMSGSTRING FINDMSGSTRINGW 626typedef CHOOSECOLORW CHOOSECOLOR,*LPCHOOSECOLOR; 627typedef CHOOSEFONTW CHOOSEFONT,*LPCHOOSEFONT; 628typedef FINDREPLACEW FINDREPLACE,*LPFINDREPLACE; 629typedef OPENFILENAMEW OPENFILENAME,*LPOPENFILENAME; 630typedef OFNOTIFYW OFNOTIFY,*LPOFNOTIFY; 631typedef PAGESETUPDLGW PAGESETUPDLG,*LPPAGESETUPDLG; 632typedef PRINTDLGW PRINTDLG,*LPPRINTDLG; 633#define ChooseColor ChooseColorW 634#define ChooseFont ChooseFontW 635#define FindText FindTextW 636#define GetFileTitle GetFileTitleW 637#define GetOpenFileName GetOpenFileNameW 638#define GetSaveFileName GetSaveFileNameW 639#define PageSetupDlg PageSetupDlgW 640#define PrintDlg PrintDlgW 641#define ReplaceText ReplaceTextW 642#if (WINVER >= 0x0500) && !defined (__OBJC__) 643typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX; 644#define PrintDlgEx PrintDlgExW 645#endif /* WINVER >= 0x0500 */ 646#else /* UNICODE */ 647#define LBSELCHSTRING LBSELCHSTRINGA 648#define SHAREVISTRING SHAREVISTRINGA 649#define FILEOKSTRING FILEOKSTRINGA 650#define COLOROKSTRING COLOROKSTRINGA 651#define SETRGBSTRING SETRGBSTRINGA 652#define HELPMSGSTRING HELPMSGSTRINGA 653#define FINDMSGSTRING FINDMSGSTRINGA 654typedef CHOOSECOLORA CHOOSECOLOR,*LPCHOOSECOLOR; 655typedef CHOOSEFONTA CHOOSEFONT,*LPCHOOSEFONT; 656typedef FINDREPLACEA FINDREPLACE,*LPFINDREPLACE; 657typedef OPENFILENAMEA OPENFILENAME,*LPOPENFILENAME; 658typedef OFNOTIFYA OFNOTIFY,*LPOFNOTIFY; 659typedef PAGESETUPDLGA PAGESETUPDLG,*LPPAGESETUPDLG; 660typedef PRINTDLGA PRINTDLG,*LPPRINTDLG; 661#define ChooseColor ChooseColorA 662#define ChooseFont ChooseFontA 663#define FindText FindTextA 664#define GetFileTitle GetFileTitleA 665#define GetOpenFileName GetOpenFileNameA 666#define GetSaveFileName GetSaveFileNameA 667#define PageSetupDlg PageSetupDlgA 668#define PrintDlg PrintDlgA 669#define ReplaceText ReplaceTextA 670#if (WINVER >= 0x0500) && !defined (__OBJC__) 671typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX; 672#define PrintDlgEx PrintDlgExA 673#endif /* WINVER >= 0x0500 */ 674#endif /* UNICODE */ 675#ifndef _WIN64 676#pragma pack(pop) 677#endif 678#ifdef __cplusplus 679} 680#endif 681#endif