File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               commdlg.d                               *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *             Translated from MinGW API for MS-Windows 3.12             *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
c2b7a98c21 2011-02-23        kinaba: module win32.commdlg;
4e2933c620 2015-04-21        kinaba: pragma(lib, "comdlg32.lib");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import win32.w32api;
4e2933c620 2015-04-21        kinaba: import win32.windef, win32.winuser;
4e2933c620 2015-04-21        kinaba: import win32.wingdi; // for LPLOGFONTA
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const TCHAR[]
4e2933c620 2015-04-21        kinaba: 	LBSELCHSTRING = "commdlg_LBSelChangedNotify",
4e2933c620 2015-04-21        kinaba: 	SHAREVISTRING = "commdlg_ShareViolation",
4e2933c620 2015-04-21        kinaba: 	FILEOKSTRING  = "commdlg_FileNameOK",
4e2933c620 2015-04-21        kinaba: 	COLOROKSTRING = "commdlg_ColorOK",
4e2933c620 2015-04-21        kinaba: 	SETRGBSTRING  = "commdlg_SetRGBColor",
4e2933c620 2015-04-21        kinaba: 	HELPMSGSTRING = "commdlg_help",
4e2933c620 2015-04-21        kinaba: 	FINDMSGSTRING = "commdlg_FindReplace";
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	CDN_FIRST          = -601, // also in commctrl.h
4e2933c620 2015-04-21        kinaba: 	CDN_LAST           = -699,
4e2933c620 2015-04-21        kinaba: 	CDN_INITDONE       = CDN_FIRST,
4e2933c620 2015-04-21        kinaba: 	CDN_SELCHANGE      = CDN_FIRST - 1,
4e2933c620 2015-04-21        kinaba: 	CDN_FOLDERCHANGE   = CDN_FIRST - 2,
4e2933c620 2015-04-21        kinaba: 	CDN_SHAREVIOLATION = CDN_FIRST - 3,
4e2933c620 2015-04-21        kinaba: 	CDN_HELP           = CDN_FIRST - 4,
4e2933c620 2015-04-21        kinaba: 	CDN_FILEOK         = CDN_FIRST - 5,
4e2933c620 2015-04-21        kinaba: 	CDN_TYPECHANGE     = CDN_FIRST - 6
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	CDM_FIRST           = WM_USER + 100,
4e2933c620 2015-04-21        kinaba: 	CDM_LAST            = WM_USER + 200,
4e2933c620 2015-04-21        kinaba: 	CDM_GETSPEC         = CDM_FIRST,
4e2933c620 2015-04-21        kinaba: 	CDM_GETFILEPATH,
4e2933c620 2015-04-21        kinaba: 	CDM_GETFOLDERPATH,
4e2933c620 2015-04-21        kinaba: 	CDM_GETFOLDERIDLIST,
4e2933c620 2015-04-21        kinaba: 	CDM_SETCONTROLTEXT,
4e2933c620 2015-04-21        kinaba: 	CDM_HIDECONTROL,
4e2933c620 2015-04-21        kinaba: 	CDM_SETDEFEXT    // = CDM_FIRST + 6
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // flags for ChooseColor
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	CC_RGBINIT              = 0x0001,
4e2933c620 2015-04-21        kinaba: 	CC_FULLOPEN             = 0x0002,
4e2933c620 2015-04-21        kinaba: 	CC_PREVENTFULLOPEN      = 0x0004,
4e2933c620 2015-04-21        kinaba: 	CC_SHOWHELP             = 0x0008,
4e2933c620 2015-04-21        kinaba: 	CC_ENABLEHOOK           = 0x0010,
4e2933c620 2015-04-21        kinaba: 	CC_ENABLETEMPLATE       = 0x0020,
4e2933c620 2015-04-21        kinaba: 	CC_ENABLETEMPLATEHANDLE = 0x0040,
4e2933c620 2015-04-21        kinaba: 	CC_SOLIDCOLOR           = 0x0080,
4e2933c620 2015-04-21        kinaba: 	CC_ANYCOLOR             = 0x0100
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // flags for ChooseFont
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	CF_SCREENFONTS          = 0x00000001,
4e2933c620 2015-04-21        kinaba: 	CF_PRINTERFONTS         = 0x00000002,
4e2933c620 2015-04-21        kinaba: 	CF_BOTH                 = 0x00000003,
4e2933c620 2015-04-21        kinaba: 	CF_SHOWHELP             = 0x00000004,
4e2933c620 2015-04-21        kinaba: 	CF_ENABLEHOOK           = 0x00000008,
4e2933c620 2015-04-21        kinaba: 	CF_ENABLETEMPLATE       = 0x00000010,
4e2933c620 2015-04-21        kinaba: 	CF_ENABLETEMPLATEHANDLE = 0x00000020,
4e2933c620 2015-04-21        kinaba: 	CF_INITTOLOGFONTSTRUCT  = 0x00000040,
4e2933c620 2015-04-21        kinaba: 	CF_USESTYLE             = 0x00000080,
4e2933c620 2015-04-21        kinaba: 	CF_EFFECTS              = 0x00000100,
4e2933c620 2015-04-21        kinaba: 	CF_APPLY                = 0x00000200,
4e2933c620 2015-04-21        kinaba: 	CF_ANSIONLY             = 0x00000400,
4e2933c620 2015-04-21        kinaba: 	CF_SCRIPTSONLY          = CF_ANSIONLY,
4e2933c620 2015-04-21        kinaba: 	CF_NOVECTORFONTS        = 0x00000800,
4e2933c620 2015-04-21        kinaba: 	CF_NOOEMFONTS           = 0x00000800,
4e2933c620 2015-04-21        kinaba: 	CF_NOSIMULATIONS        = 0x00001000,
4e2933c620 2015-04-21        kinaba: 	CF_LIMITSIZE            = 0x00002000,
4e2933c620 2015-04-21        kinaba: 	CF_FIXEDPITCHONLY       = 0x00004000,
4e2933c620 2015-04-21        kinaba: 	CF_WYSIWYG              = 0x00008000,
4e2933c620 2015-04-21        kinaba: 	CF_FORCEFONTEXIST       = 0x00010000,
4e2933c620 2015-04-21        kinaba: 	CF_SCALABLEONLY         = 0x00020000,
4e2933c620 2015-04-21        kinaba: 	CF_TTONLY               = 0x00040000,
4e2933c620 2015-04-21        kinaba: 	CF_NOFACESEL            = 0x00080000,
4e2933c620 2015-04-21        kinaba: 	CF_NOSTYLESEL           = 0x00100000,
4e2933c620 2015-04-21        kinaba: 	CF_NOSIZESEL            = 0x00200000,
4e2933c620 2015-04-21        kinaba: 	CF_SELECTSCRIPT         = 0x00400000,
4e2933c620 2015-04-21        kinaba: 	CF_NOSCRIPTSEL          = 0x00800000,
4e2933c620 2015-04-21        kinaba: 	CF_NOVERTFONTS          = 0x01000000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Font type for ChooseFont
4e2933c620 2015-04-21        kinaba: enum : WORD {
4e2933c620 2015-04-21        kinaba: 	BOLD_FONTTYPE      = 0x0100,
4e2933c620 2015-04-21        kinaba: 	ITALIC_FONTTYPE    = 0x0200,
4e2933c620 2015-04-21        kinaba: 	REGULAR_FONTTYPE   = 0x0400,
4e2933c620 2015-04-21        kinaba: 	SCREEN_FONTTYPE    = 0x2000,
4e2933c620 2015-04-21        kinaba: 	PRINTER_FONTTYPE   = 0x4000,
4e2933c620 2015-04-21        kinaba: 	SIMULATED_FONTTYPE = 0x8000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	WM_CHOOSEFONT_GETLOGFONT = WM_USER +   1,
4e2933c620 2015-04-21        kinaba: 	WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101,
4e2933c620 2015-04-21        kinaba: 	WM_CHOOSEFONT_SETFLAGS   = WM_USER + 102
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // flags for OpenFileName
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	OFN_SHAREWARN            = 0,
4e2933c620 2015-04-21        kinaba: 	OFN_SHARENOWARN          = 0x000001,
4e2933c620 2015-04-21        kinaba: 	OFN_READONLY             = 0x000001,
4e2933c620 2015-04-21        kinaba: 	OFN_SHAREFALLTHROUGH     = 0x000002,
4e2933c620 2015-04-21        kinaba: 	OFN_OVERWRITEPROMPT      = 0x000002,
4e2933c620 2015-04-21        kinaba: 	OFN_HIDEREADONLY         = 0x000004,
4e2933c620 2015-04-21        kinaba: 	OFN_NOCHANGEDIR          = 0x000008,
4e2933c620 2015-04-21        kinaba: 	OFN_SHOWHELP             = 0x000010,
4e2933c620 2015-04-21        kinaba: 	OFN_ENABLEHOOK           = 0x000020,
4e2933c620 2015-04-21        kinaba: 	OFN_ENABLETEMPLATE       = 0x000040,
4e2933c620 2015-04-21        kinaba: 	OFN_ENABLETEMPLATEHANDLE = 0x000080,
4e2933c620 2015-04-21        kinaba: 	OFN_NOVALIDATE           = 0x000100,
4e2933c620 2015-04-21        kinaba: 	OFN_ALLOWMULTISELECT     = 0x000200,
4e2933c620 2015-04-21        kinaba: 	OFN_EXTENSIONDIFFERENT   = 0x000400,
4e2933c620 2015-04-21        kinaba: 	OFN_PATHMUSTEXIST        = 0x000800,
4e2933c620 2015-04-21        kinaba: 	OFN_FILEMUSTEXIST        = 0x001000,
4e2933c620 2015-04-21        kinaba: 	OFN_CREATEPROMPT         = 0x002000,
4e2933c620 2015-04-21        kinaba: 	OFN_SHAREAWARE           = 0x004000,
4e2933c620 2015-04-21        kinaba: 	OFN_NOREADONLYRETURN     = 0x008000,
4e2933c620 2015-04-21        kinaba: 	OFN_NOTESTFILECREATE     = 0x010000,
4e2933c620 2015-04-21        kinaba: 	OFN_NONETWORKBUTTON      = 0x020000,
4e2933c620 2015-04-21        kinaba: 	OFN_NOLONGNAMES          = 0x040000,
4e2933c620 2015-04-21        kinaba: 	OFN_EXPLORER             = 0x080000,
4e2933c620 2015-04-21        kinaba: 	OFN_NODEREFERENCELINKS   = 0x100000,
4e2933c620 2015-04-21        kinaba: 	OFN_LONGNAMES            = 0x200000,
4e2933c620 2015-04-21        kinaba: 	OFN_ENABLESIZING         = 0x800000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	FR_DOWN                 = 0x00000001,
4e2933c620 2015-04-21        kinaba: 	FR_WHOLEWORD            = 0x00000002,
4e2933c620 2015-04-21        kinaba: 	FR_MATCHCASE            = 0x00000004,
4e2933c620 2015-04-21        kinaba: 	FR_FINDNEXT             = 0x00000008,
4e2933c620 2015-04-21        kinaba: 	FR_REPLACE              = 0x00000010,
4e2933c620 2015-04-21        kinaba: 	FR_REPLACEALL           = 0x00000020,
4e2933c620 2015-04-21        kinaba: 	FR_DIALOGTERM           = 0x00000040,
4e2933c620 2015-04-21        kinaba: 	FR_SHOWHELP             = 0x00000080,
4e2933c620 2015-04-21        kinaba: 	FR_ENABLEHOOK           = 0x00000100,
4e2933c620 2015-04-21        kinaba: 	FR_ENABLETEMPLATE       = 0x00000200,
4e2933c620 2015-04-21        kinaba: 	FR_NOUPDOWN             = 0x00000400,
4e2933c620 2015-04-21        kinaba: 	FR_NOMATCHCASE          = 0x00000800,
4e2933c620 2015-04-21        kinaba: 	FR_NOWHOLEWORD          = 0x00001000,
4e2933c620 2015-04-21        kinaba: 	FR_ENABLETEMPLATEHANDLE = 0x00002000,
4e2933c620 2015-04-21        kinaba: 	FR_HIDEUPDOWN           = 0x00004000,
4e2933c620 2015-04-21        kinaba: 	FR_HIDEMATCHCASE        = 0x00008000,
4e2933c620 2015-04-21        kinaba: 	FR_HIDEWHOLEWORD        = 0x00010000,
4e2933c620 2015-04-21        kinaba: 	FR_MATCHDIAC            = 0x20000000,
4e2933c620 2015-04-21        kinaba: 	FR_MATCHKASHIDA         = 0x40000000,
4e2933c620 2015-04-21        kinaba: 	FR_MATCHALEFHAMZA       = 0x80000000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	PD_ALLPAGES                   = 0,
4e2933c620 2015-04-21        kinaba: 	PD_SELECTION                  = 0x000001,
4e2933c620 2015-04-21        kinaba: 	PD_PAGENUMS                   = 0x000002,
4e2933c620 2015-04-21        kinaba: 	PD_NOSELECTION                = 0x000004,
4e2933c620 2015-04-21        kinaba: 	PD_NOPAGENUMS                 = 0x000008,
4e2933c620 2015-04-21        kinaba: 	PD_COLLATE                    = 0x000010,
4e2933c620 2015-04-21        kinaba: 	PD_PRINTTOFILE                = 0x000020,
4e2933c620 2015-04-21        kinaba: 	PD_PRINTSETUP                 = 0x000040,
4e2933c620 2015-04-21        kinaba: 	PD_NOWARNING                  = 0x000080,
4e2933c620 2015-04-21        kinaba: 	PD_RETURNDC                   = 0x000100,
4e2933c620 2015-04-21        kinaba: 	PD_RETURNIC                   = 0x000200,
4e2933c620 2015-04-21        kinaba: 	PD_RETURNDEFAULT              = 0x000400,
4e2933c620 2015-04-21        kinaba: 	PD_SHOWHELP                   = 0x000800,
4e2933c620 2015-04-21        kinaba: 	PD_ENABLEPRINTHOOK            = 0x001000,
4e2933c620 2015-04-21        kinaba: 	PD_ENABLESETUPHOOK            = 0x002000,
4e2933c620 2015-04-21        kinaba: 	PD_ENABLEPRINTTEMPLATE        = 0x004000,
4e2933c620 2015-04-21        kinaba: 	PD_ENABLESETUPTEMPLATE        = 0x008000,
4e2933c620 2015-04-21        kinaba: 	PD_ENABLEPRINTTEMPLATEHANDLE  = 0x010000,
4e2933c620 2015-04-21        kinaba: 	PD_ENABLESETUPTEMPLATEHANDLE  = 0x020000,
4e2933c620 2015-04-21        kinaba: 	PD_USEDEVMODECOPIES           = 0x040000,
4e2933c620 2015-04-21        kinaba: 	PD_USEDEVMODECOPIESANDCOLLATE = 0x040000,
4e2933c620 2015-04-21        kinaba: 	PD_DISABLEPRINTTOFILE         = 0x080000,
4e2933c620 2015-04-21        kinaba: 	PD_HIDEPRINTTOFILE            = 0x100000,
4e2933c620 2015-04-21        kinaba: 	PD_NONETWORKBUTTON            = 0x200000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	enum : DWORD {
4e2933c620 2015-04-21        kinaba: 		PD_CURRENTPAGE      = 0x00400000,
4e2933c620 2015-04-21        kinaba: 		PD_NOCURRENTPAGE    = 0x00800000,
4e2933c620 2015-04-21        kinaba: 		PD_EXCLUSIONFLAGS   = 0x01000000,
4e2933c620 2015-04-21        kinaba: 		PD_USELARGETEMPLATE = 0x10000000,
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	enum : HRESULT {
4e2933c620 2015-04-21        kinaba: 		PD_RESULT_CANCEL,
4e2933c620 2015-04-21        kinaba: 		PD_RESULT_PRINT,
4e2933c620 2015-04-21        kinaba: 		PD_RESULT_APPLY
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	const DWORD START_PAGE_GENERAL = 0xFFFFFFFF;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	PSD_DEFAULTMINMARGINS             = 0,
4e2933c620 2015-04-21        kinaba: 	PSD_INWININIINTLMEASURE           = 0,
4e2933c620 2015-04-21        kinaba: 	PSD_MINMARGINS                    = 0x000001,
4e2933c620 2015-04-21        kinaba: 	PSD_MARGINS                       = 0x000002,
4e2933c620 2015-04-21        kinaba: 	PSD_INTHOUSANDTHSOFINCHES         = 0x000004,
4e2933c620 2015-04-21        kinaba: 	PSD_INHUNDREDTHSOFMILLIMETERS     = 0x000008,
4e2933c620 2015-04-21        kinaba: 	PSD_DISABLEMARGINS                = 0x000010,
4e2933c620 2015-04-21        kinaba: 	PSD_DISABLEPRINTER                = 0x000020,
4e2933c620 2015-04-21        kinaba: 	PSD_NOWARNING                     = 0x000080,
4e2933c620 2015-04-21        kinaba: 	PSD_DISABLEORIENTATION            = 0x000100,
4e2933c620 2015-04-21        kinaba: 	PSD_DISABLEPAPER                  = 0x000200,
4e2933c620 2015-04-21        kinaba: 	PSD_RETURNDEFAULT                 = 0x000400,
4e2933c620 2015-04-21        kinaba: 	PSD_SHOWHELP                      = 0x000800,
4e2933c620 2015-04-21        kinaba: 	PSD_ENABLEPAGESETUPHOOK           = 0x002000,
4e2933c620 2015-04-21        kinaba: 	PSD_ENABLEPAGESETUPTEMPLATE       = 0x008000,
4e2933c620 2015-04-21        kinaba: 	PSD_ENABLEPAGESETUPTEMPLATEHANDLE = 0x020000,
4e2933c620 2015-04-21        kinaba: 	PSD_ENABLEPAGEPAINTHOOK           = 0x040000,
4e2933c620 2015-04-21        kinaba: 	PSD_DISABLEPAGEPAINTING           = 0x080000
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	WM_PSD_PAGESETUPDLG = WM_USER,
4e2933c620 2015-04-21        kinaba: 	WM_PSD_FULLPAGERECT,
4e2933c620 2015-04-21        kinaba: 	WM_PSD_MINMARGINRECT,
4e2933c620 2015-04-21        kinaba: 	WM_PSD_MARGINRECT,
4e2933c620 2015-04-21        kinaba: 	WM_PSD_GREEKTEXTRECT,
4e2933c620 2015-04-21        kinaba: 	WM_PSD_ENVSTAMPRECT,
4e2933c620 2015-04-21        kinaba: 	WM_PSD_YAFULLPAGERECT // = WM_USER + 6
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : int {
4e2933c620 2015-04-21        kinaba: 	CD_LBSELNOITEMS = -1,
4e2933c620 2015-04-21        kinaba: 	CD_LBSELCHANGE,
4e2933c620 2015-04-21        kinaba: 	CD_LBSELSUB,
4e2933c620 2015-04-21        kinaba: 	CD_LBSELADD
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const WORD DN_DEFAULTPRN = 1;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: /+
4e2933c620 2015-04-21        kinaba: // Both MinGW and the windows docs indicate that there are macros for the send messages
4e2933c620 2015-04-21        kinaba: // the controls. These seem to be totally unnecessary -- and at least one of MinGW or
4e2933c620 2015-04-21        kinaba: // Windows Docs is buggy!
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: int CommDlg_OpenSave_GetSpec(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
4e2933c620 2015-04-21        kinaba: 	return SendMessage(hWndControl, CDM_GETSPEC, wParam, lParam);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: int CommDlg_OpenSave_GetFilePath(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
4e2933c620 2015-04-21        kinaba: 	return SendMessage(hWndControl, CDM_GETFILEPATH, wParam, lParam);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: int CommDlg_OpenSave_GetFolderPath(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
4e2933c620 2015-04-21        kinaba: 	return SendMessage(hWndControl, CDM_GETFOLDERPATH, wParam, lParam);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: int CommDlg_OpenSave_GetFolderIDList(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
4e2933c620 2015-04-21        kinaba: 	return SendMessage(hWndControl, CDM_GETFOLDERIDLIST, wParam, lParam);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: void CommDlg_OpenSave_SetControlText(HWND hWndControl, LPARAM lparam, WPARAM wParam) {
4e2933c620 2015-04-21        kinaba: 	return SendMessage(hWndControl, CDM_SETCONTROLTEXT, wParam, lParam);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: void CommDlg_OpenSave_HideControl(HWND hWndControl, WPARAM wParam) {
4e2933c620 2015-04-21        kinaba: 	return SendMessage(hWndControl, CDM_HIDECONTROL, wParam, 0);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: void CommDlg_OpenSave_SetDefExt(HWND hWndControl, TCHAR* lparam) {
4e2933c620 2015-04-21        kinaba: 	return SendMessage(hWndControl, CDM_SETCONTROLTEXT, 0, cast(LPARAM)lParam);
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // These aliases seem even more unnecessary
4e2933c620 2015-04-21        kinaba: alias CommDlg_OpenSave_GetSpec
4e2933c620 2015-04-21        kinaba: 	CommDlg_OpenSave_GetSpecA, CommDlg_OpenSave_GetSpecW;
4e2933c620 2015-04-21        kinaba: alias CommDlg_OpenSave_GetFilePath
4e2933c620 2015-04-21        kinaba: 	CommDlg_OpenSave_GetFilePathA, CommDlg_OpenSave_GetFilePathW;
4e2933c620 2015-04-21        kinaba: alias CommDlg_OpenSave_GetFolderPath
4e2933c620 2015-04-21        kinaba: 	CommDlg_OpenSave_GetFolderPathA, CommDlg_OpenSave_GetFolderPathW;
4e2933c620 2015-04-21        kinaba: +/
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // Callbacks.
4e2933c620 2015-04-21        kinaba: extern(Windows) {
4e2933c620 2015-04-21        kinaba: alias UINT function (HWND, UINT, WPARAM, LPARAM)
4e2933c620 2015-04-21        kinaba: 	LPCCHOOKPROC, LPCFHOOKPROC, LPFRHOOKPROC, LPOFNHOOKPROC,
4e2933c620 2015-04-21        kinaba: 	LPPAGEPAINTHOOK, LPPAGESETUPHOOK, LPSETUPHOOKPROC, LPPRINTHOOKPROC;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: align (1):
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CHOOSECOLORA {
4e2933c620 2015-04-21        kinaba: 	DWORD        lStructSize = CHOOSECOLORA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND         hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HWND         hInstance;
4e2933c620 2015-04-21        kinaba: 	COLORREF     rgbResult;
4e2933c620 2015-04-21        kinaba: 	COLORREF*    lpCustColors;
4e2933c620 2015-04-21        kinaba: 	DWORD        Flags;
4e2933c620 2015-04-21        kinaba: 	LPARAM       lCustData;
4e2933c620 2015-04-21        kinaba: 	LPCCHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCSTR       lpTemplateName;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CHOOSECOLORA* LPCHOOSECOLORA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct CHOOSECOLORW {
4e2933c620 2015-04-21        kinaba: 	DWORD        lStructSize = CHOOSECOLORW.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND         hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HWND         hInstance;
4e2933c620 2015-04-21        kinaba: 	COLORREF     rgbResult;
4e2933c620 2015-04-21        kinaba: 	COLORREF*    lpCustColors;
4e2933c620 2015-04-21        kinaba: 	DWORD        Flags;
4e2933c620 2015-04-21        kinaba: 	LPARAM       lCustData;
4e2933c620 2015-04-21        kinaba: 	LPCCHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR      lpTemplateName;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CHOOSECOLORW* LPCHOOSECOLORW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: align (4) struct CHOOSEFONTA {
4e2933c620 2015-04-21        kinaba: 	DWORD        lStructSize = CHOOSEFONTA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND         hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HDC          hDC;
4e2933c620 2015-04-21        kinaba: 	LPLOGFONTA   lpLogFont;
4e2933c620 2015-04-21        kinaba: 	INT          iPointSize;
4e2933c620 2015-04-21        kinaba: 	DWORD        Flags;
4e2933c620 2015-04-21        kinaba: 	DWORD        rgbColors;
4e2933c620 2015-04-21        kinaba: 	LPARAM       lCustData;
4e2933c620 2015-04-21        kinaba: 	LPCFHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCSTR       lpTemplateName;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE    hInstance;
4e2933c620 2015-04-21        kinaba: 	LPSTR        lpszStyle;
4e2933c620 2015-04-21        kinaba: 	WORD         nFontType;
4e2933c620 2015-04-21        kinaba: 	//WORD         ___MISSING_ALIGNMENT__;
4e2933c620 2015-04-21        kinaba: 	INT          nSizeMin;
4e2933c620 2015-04-21        kinaba: 	INT          nSizeMax;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CHOOSEFONTA* LPCHOOSEFONTA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: align (4) struct CHOOSEFONTW {
4e2933c620 2015-04-21        kinaba: 	DWORD        lStructSize = CHOOSEFONTW.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND         hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HDC          hDC;
4e2933c620 2015-04-21        kinaba: 	LPLOGFONTW   lpLogFont;
4e2933c620 2015-04-21        kinaba: 	INT          iPointSize;
4e2933c620 2015-04-21        kinaba: 	DWORD        Flags;
4e2933c620 2015-04-21        kinaba: 	DWORD        rgbColors;
4e2933c620 2015-04-21        kinaba: 	LPARAM       lCustData;
4e2933c620 2015-04-21        kinaba: 	LPCFHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR      lpTemplateName;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE    hInstance;
4e2933c620 2015-04-21        kinaba: 	LPWSTR       lpszStyle;
4e2933c620 2015-04-21        kinaba: 	WORD         nFontType;
4e2933c620 2015-04-21        kinaba: 	//WORD         ___MISSING_ALIGNMENT__;
4e2933c620 2015-04-21        kinaba: 	INT          nSizeMin;
4e2933c620 2015-04-21        kinaba: 	INT          nSizeMax;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias CHOOSEFONTW* LPCHOOSEFONTW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct DEVNAMES {
4e2933c620 2015-04-21        kinaba: 	WORD wDriverOffset;
4e2933c620 2015-04-21        kinaba: 	WORD wDeviceOffset;
4e2933c620 2015-04-21        kinaba: 	WORD wOutputOffset;
4e2933c620 2015-04-21        kinaba: 	WORD wDefault;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias DEVNAMES* LPDEVNAMES;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct FINDREPLACEA {
4e2933c620 2015-04-21        kinaba: 	DWORD        lStructSize = FINDREPLACEA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND         hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE    hInstance;
4e2933c620 2015-04-21        kinaba: 	DWORD        Flags;
4e2933c620 2015-04-21        kinaba: 	LPSTR        lpstrFindWhat;
4e2933c620 2015-04-21        kinaba: 	LPSTR        lpstrReplaceWith;
4e2933c620 2015-04-21        kinaba: 	WORD         wFindWhatLen;
4e2933c620 2015-04-21        kinaba: 	WORD         wReplaceWithLen;
4e2933c620 2015-04-21        kinaba: 	LPARAM       lCustData;
4e2933c620 2015-04-21        kinaba: 	LPFRHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCSTR       lpTemplateName;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias FINDREPLACEA* LPFINDREPLACEA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct FINDREPLACEW {
4e2933c620 2015-04-21        kinaba: 	DWORD        lStructSize = FINDREPLACEW.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND         hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE    hInstance;
4e2933c620 2015-04-21        kinaba: 	DWORD        Flags;
4e2933c620 2015-04-21        kinaba: 	LPWSTR       lpstrFindWhat;
4e2933c620 2015-04-21        kinaba: 	LPWSTR       lpstrReplaceWith;
4e2933c620 2015-04-21        kinaba: 	WORD         wFindWhatLen;
4e2933c620 2015-04-21        kinaba: 	WORD         wReplaceWithLen;
4e2933c620 2015-04-21        kinaba: 	LPARAM       lCustData;
4e2933c620 2015-04-21        kinaba: 	LPFRHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR      lpTemplateName;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias FINDREPLACEW* LPFINDREPLACEW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct OPENFILENAMEA {
4e2933c620 2015-04-21        kinaba: 	DWORD         lStructSize = OPENFILENAMEA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND          hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE     hInstance;
4e2933c620 2015-04-21        kinaba: 	LPCSTR        lpstrFilter;
4e2933c620 2015-04-21        kinaba: 	LPSTR         lpstrCustomFilter;
4e2933c620 2015-04-21        kinaba: 	DWORD         nMaxCustFilter;
4e2933c620 2015-04-21        kinaba: 	DWORD         nFilterIndex;
4e2933c620 2015-04-21        kinaba: 	LPSTR         lpstrFile;
4e2933c620 2015-04-21        kinaba: 	DWORD         nMaxFile;
4e2933c620 2015-04-21        kinaba: 	LPSTR         lpstrFileTitle;
4e2933c620 2015-04-21        kinaba: 	DWORD         nMaxFileTitle;
4e2933c620 2015-04-21        kinaba: 	LPCSTR        lpstrInitialDir;
4e2933c620 2015-04-21        kinaba: 	LPCSTR        lpstrTitle;
4e2933c620 2015-04-21        kinaba: 	DWORD         Flags;
4e2933c620 2015-04-21        kinaba: 	WORD          nFileOffset;
4e2933c620 2015-04-21        kinaba: 	WORD          nFileExtension;
4e2933c620 2015-04-21        kinaba: 	LPCSTR        lpstrDefExt;
4e2933c620 2015-04-21        kinaba: 	DWORD         lCustData;
4e2933c620 2015-04-21        kinaba: 	LPOFNHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCSTR        lpTemplateName;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba:     static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) {
4e2933c620 2015-04-21        kinaba:         void          *pvReserved;
4e2933c620 2015-04-21        kinaba:         DWORD         dwReserved;
4e2933c620 2015-04-21        kinaba:         DWORD         FlagsEx;
4e2933c620 2015-04-21        kinaba:     }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias OPENFILENAMEA* LPOPENFILENAMEA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct OPENFILENAMEW {
4e2933c620 2015-04-21        kinaba: 	DWORD         lStructSize = OPENFILENAMEW.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND          hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE     hInstance;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR       lpstrFilter;
4e2933c620 2015-04-21        kinaba: 	LPWSTR        lpstrCustomFilter;
4e2933c620 2015-04-21        kinaba: 	DWORD         nMaxCustFilter;
4e2933c620 2015-04-21        kinaba: 	DWORD         nFilterIndex;
4e2933c620 2015-04-21        kinaba: 	LPWSTR        lpstrFile;
4e2933c620 2015-04-21        kinaba: 	DWORD         nMaxFile;
4e2933c620 2015-04-21        kinaba: 	LPWSTR        lpstrFileTitle;
4e2933c620 2015-04-21        kinaba: 	DWORD         nMaxFileTitle;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR       lpstrInitialDir;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR       lpstrTitle;
4e2933c620 2015-04-21        kinaba: 	DWORD         Flags;
4e2933c620 2015-04-21        kinaba: 	WORD          nFileOffset;
4e2933c620 2015-04-21        kinaba: 	WORD          nFileExtension;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR       lpstrDefExt;
4e2933c620 2015-04-21        kinaba: 	DWORD         lCustData;
4e2933c620 2015-04-21        kinaba: 	LPOFNHOOKPROC lpfnHook;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR       lpTemplateName;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba:     static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) {
4e2933c620 2015-04-21        kinaba:         void          *pvReserved;
4e2933c620 2015-04-21        kinaba:         DWORD         dwReserved;
4e2933c620 2015-04-21        kinaba:         DWORD         FlagsEx;
4e2933c620 2015-04-21        kinaba:     }
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias OPENFILENAMEW* LPOPENFILENAMEW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const size_t OPENFILENAME_SIZE_VERSION_400 = 76;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct OFNOTIFYA {
4e2933c620 2015-04-21        kinaba: 	NMHDR           hdr;
4e2933c620 2015-04-21        kinaba: 	LPOPENFILENAMEA lpOFN;
4e2933c620 2015-04-21        kinaba: 	LPSTR           pszFile;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias OFNOTIFYA* LPOFNOTIFYA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct OFNOTIFYW {
4e2933c620 2015-04-21        kinaba: 	NMHDR           hdr;
4e2933c620 2015-04-21        kinaba: 	LPOPENFILENAMEW lpOFN;
4e2933c620 2015-04-21        kinaba: 	LPWSTR          pszFile;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias OFNOTIFYW* LPOFNOTIFYW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct PAGESETUPDLGA {
4e2933c620 2015-04-21        kinaba: 	DWORD           lStructSize = PAGESETUPDLGA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND            hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HGLOBAL         hDevMode;
4e2933c620 2015-04-21        kinaba: 	HGLOBAL         hDevNames;
4e2933c620 2015-04-21        kinaba: 	DWORD           Flags;
4e2933c620 2015-04-21        kinaba: 	POINT           ptPaperSize;
4e2933c620 2015-04-21        kinaba: 	RECT            rtMinMargin;
4e2933c620 2015-04-21        kinaba: 	RECT            rtMargin;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE       hInstance;
4e2933c620 2015-04-21        kinaba: 	LPARAM          lCustData;
4e2933c620 2015-04-21        kinaba: 	LPPAGESETUPHOOK lpfnPageSetupHook;
4e2933c620 2015-04-21        kinaba: 	LPPAGEPAINTHOOK lpfnPagePaintHook;
4e2933c620 2015-04-21        kinaba: 	LPCSTR          lpPageSetupTemplateName;
4e2933c620 2015-04-21        kinaba: 	HGLOBAL         hPageSetupTemplate;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias PAGESETUPDLGA* LPPAGESETUPDLGA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct PAGESETUPDLGW {
4e2933c620 2015-04-21        kinaba: 	DWORD           lStructSize = PAGESETUPDLGW.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND            hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HGLOBAL         hDevMode;
4e2933c620 2015-04-21        kinaba: 	HGLOBAL         hDevNames;
4e2933c620 2015-04-21        kinaba: 	DWORD           Flags;
4e2933c620 2015-04-21        kinaba: 	POINT           ptPaperSize;
4e2933c620 2015-04-21        kinaba: 	RECT            rtMinMargin;
4e2933c620 2015-04-21        kinaba: 	RECT            rtMargin;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE       hInstance;
4e2933c620 2015-04-21        kinaba: 	LPARAM          lCustData;
4e2933c620 2015-04-21        kinaba: 	LPPAGESETUPHOOK lpfnPageSetupHook;
4e2933c620 2015-04-21        kinaba: 	LPPAGEPAINTHOOK lpfnPagePaintHook;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR         lpPageSetupTemplateName;
4e2933c620 2015-04-21        kinaba: 	HGLOBAL         hPageSetupTemplate;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias PAGESETUPDLGW* LPPAGESETUPDLGW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct PRINTDLGA {
4e2933c620 2015-04-21        kinaba: 	DWORD           lStructSize = PRINTDLGA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND            hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hDevMode;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hDevNames;
4e2933c620 2015-04-21        kinaba: 	HDC             hDC;
4e2933c620 2015-04-21        kinaba: 	DWORD           Flags;
4e2933c620 2015-04-21        kinaba: 	WORD            nFromPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nToPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nMinPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nMaxPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nCopies;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE       hInstance;
4e2933c620 2015-04-21        kinaba: 	DWORD           lCustData;
4e2933c620 2015-04-21        kinaba: 	LPPRINTHOOKPROC lpfnPrintHook;
4e2933c620 2015-04-21        kinaba: 	LPSETUPHOOKPROC lpfnSetupHook;
4e2933c620 2015-04-21        kinaba: 	LPCSTR          lpPrintTemplateName;
4e2933c620 2015-04-21        kinaba: 	LPCSTR          lpSetupTemplateName;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hPrintTemplate;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hSetupTemplate;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias PRINTDLGA* LPPRINTDLGA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct PRINTDLGW {
4e2933c620 2015-04-21        kinaba: 	DWORD           lStructSize = PRINTDLGW.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND            hwndOwner;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hDevMode;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hDevNames;
4e2933c620 2015-04-21        kinaba: 	HDC             hDC;
4e2933c620 2015-04-21        kinaba: 	DWORD           Flags;
4e2933c620 2015-04-21        kinaba: 	WORD            nFromPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nToPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nMinPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nMaxPage;
4e2933c620 2015-04-21        kinaba: 	WORD            nCopies;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE       hInstance;
4e2933c620 2015-04-21        kinaba: 	DWORD           lCustData;
4e2933c620 2015-04-21        kinaba: 	LPPRINTHOOKPROC lpfnPrintHook;
4e2933c620 2015-04-21        kinaba: 	LPSETUPHOOKPROC lpfnSetupHook;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR         lpPrintTemplateName;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR         lpSetupTemplateName;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hPrintTemplate;
4e2933c620 2015-04-21        kinaba: 	HANDLE          hSetupTemplate;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias PRINTDLGW* LPPRINTDLGW;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	import win32.unknwn; // for LPUNKNOWN
4e2933c620 2015-04-21        kinaba: 	import win32.prsht;  // for HPROPSHEETPAGE
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	struct PRINTPAGERANGE {
4e2933c620 2015-04-21        kinaba: 		DWORD  nFromPage;
4e2933c620 2015-04-21        kinaba: 		DWORD  nToPage;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias PRINTPAGERANGE* LPPRINTPAGERANGE;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	struct PRINTDLGEXA {
4e2933c620 2015-04-21        kinaba: 		DWORD            lStructSize = PRINTDLGEXA.sizeof;
4e2933c620 2015-04-21        kinaba: 		HWND             hwndOwner;
4e2933c620 2015-04-21        kinaba: 		HGLOBAL          hDevMode;
4e2933c620 2015-04-21        kinaba: 		HGLOBAL          hDevNames;
4e2933c620 2015-04-21        kinaba: 		HDC              hDC;
4e2933c620 2015-04-21        kinaba: 		DWORD            Flags;
4e2933c620 2015-04-21        kinaba: 		DWORD            Flags2;
4e2933c620 2015-04-21        kinaba: 		DWORD            ExclusionFlags;
4e2933c620 2015-04-21        kinaba: 		DWORD            nPageRanges;
4e2933c620 2015-04-21        kinaba: 		DWORD            nMaxPageRanges;
4e2933c620 2015-04-21        kinaba: 		LPPRINTPAGERANGE lpPageRanges;
4e2933c620 2015-04-21        kinaba: 		DWORD            nMinPage;
4e2933c620 2015-04-21        kinaba: 		DWORD            nMaxPage;
4e2933c620 2015-04-21        kinaba: 		DWORD            nCopies;
4e2933c620 2015-04-21        kinaba: 		HINSTANCE        hInstance;
4e2933c620 2015-04-21        kinaba: 		LPCSTR           lpPrintTemplateName;
4e2933c620 2015-04-21        kinaba: 		LPUNKNOWN        lpCallback;
4e2933c620 2015-04-21        kinaba: 		DWORD            nPropertyPages;
4e2933c620 2015-04-21        kinaba: 		HPROPSHEETPAGE*  lphPropertyPages;
4e2933c620 2015-04-21        kinaba: 		DWORD            nStartPage;
4e2933c620 2015-04-21        kinaba: 		DWORD            dwResultAction;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias PRINTDLGEXA* LPPRINTDLGEXA;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	struct PRINTDLGEXW {
4e2933c620 2015-04-21        kinaba: 		DWORD            lStructSize = PRINTDLGEXW.sizeof;
4e2933c620 2015-04-21        kinaba: 		HWND             hwndOwner;
4e2933c620 2015-04-21        kinaba: 		HGLOBAL          hDevMode;
4e2933c620 2015-04-21        kinaba: 		HGLOBAL          hDevNames;
4e2933c620 2015-04-21        kinaba: 		HDC              hDC;
4e2933c620 2015-04-21        kinaba: 		DWORD            Flags;
4e2933c620 2015-04-21        kinaba: 		DWORD            Flags2;
4e2933c620 2015-04-21        kinaba: 		DWORD            ExclusionFlags;
4e2933c620 2015-04-21        kinaba: 		DWORD            nPageRanges;
4e2933c620 2015-04-21        kinaba: 		DWORD            nMaxPageRanges;
4e2933c620 2015-04-21        kinaba: 		LPPRINTPAGERANGE lpPageRanges;
4e2933c620 2015-04-21        kinaba: 		DWORD            nMinPage;
4e2933c620 2015-04-21        kinaba: 		DWORD            nMaxPage;
4e2933c620 2015-04-21        kinaba: 		DWORD            nCopies;
4e2933c620 2015-04-21        kinaba: 		HINSTANCE        hInstance;
4e2933c620 2015-04-21        kinaba: 		LPCWSTR          lpPrintTemplateName;
4e2933c620 2015-04-21        kinaba: 		LPUNKNOWN        lpCallback;
4e2933c620 2015-04-21        kinaba: 		DWORD            nPropertyPages;
4e2933c620 2015-04-21        kinaba: 		HPROPSHEETPAGE*  lphPropertyPages;
4e2933c620 2015-04-21        kinaba: 		DWORD            nStartPage;
4e2933c620 2015-04-21        kinaba: 		DWORD            dwResultAction;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	alias PRINTDLGEXW* LPPRINTDLGEXW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: } // _WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	BOOL ChooseColorA(LPCHOOSECOLORA);
4e2933c620 2015-04-21        kinaba: 	BOOL ChooseColorW(LPCHOOSECOLORW);
4e2933c620 2015-04-21        kinaba: 	BOOL ChooseFontA(LPCHOOSEFONTA);
4e2933c620 2015-04-21        kinaba: 	BOOL ChooseFontW(LPCHOOSEFONTW);
4e2933c620 2015-04-21        kinaba: 	DWORD CommDlgExtendedError();
4e2933c620 2015-04-21        kinaba: 	HWND FindTextA(LPFINDREPLACEA);
4e2933c620 2015-04-21        kinaba: 	HWND FindTextW(LPFINDREPLACEW);
4e2933c620 2015-04-21        kinaba: 	short GetFileTitleA(LPCSTR, LPSTR, WORD);
4e2933c620 2015-04-21        kinaba: 	short GetFileTitleW(LPCWSTR, LPWSTR, WORD);
4e2933c620 2015-04-21        kinaba: 	BOOL GetOpenFileNameA(LPOPENFILENAMEA);
4e2933c620 2015-04-21        kinaba: 	BOOL GetOpenFileNameW(LPOPENFILENAMEW);
4e2933c620 2015-04-21        kinaba: 	BOOL GetSaveFileNameA(LPOPENFILENAMEA);
4e2933c620 2015-04-21        kinaba: 	BOOL GetSaveFileNameW(LPOPENFILENAMEW);
4e2933c620 2015-04-21        kinaba: 	BOOL PageSetupDlgA(LPPAGESETUPDLGA);
4e2933c620 2015-04-21        kinaba: 	BOOL PageSetupDlgW(LPPAGESETUPDLGW);
4e2933c620 2015-04-21        kinaba: 	BOOL PrintDlgA(LPPRINTDLGA);
4e2933c620 2015-04-21        kinaba: 	BOOL PrintDlgW(LPPRINTDLGW);
4e2933c620 2015-04-21        kinaba: 	HWND ReplaceTextA(LPFINDREPLACEA);
4e2933c620 2015-04-21        kinaba: 	HWND ReplaceTextW(LPFINDREPLACEW);
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		HRESULT PrintDlgExA(LPPRINTDLGEXA);
4e2933c620 2015-04-21        kinaba: 		HRESULT PrintDlgExW(LPPRINTDLGEXW);
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: version (Unicode) {
4e2933c620 2015-04-21        kinaba: 	alias CHOOSECOLORW CHOOSECOLOR;
4e2933c620 2015-04-21        kinaba: 	alias CHOOSEFONTW CHOOSEFONT;
4e2933c620 2015-04-21        kinaba: 	alias FINDREPLACEW FINDREPLACE;
4e2933c620 2015-04-21        kinaba: 	alias OPENFILENAMEW OPENFILENAME;
4e2933c620 2015-04-21        kinaba: 	alias OFNOTIFYW OFNOTIFY;
4e2933c620 2015-04-21        kinaba: 	alias PAGESETUPDLGW PAGESETUPDLG;
4e2933c620 2015-04-21        kinaba: 	alias PRINTDLGW PRINTDLG;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	alias ChooseColorW ChooseColor;
4e2933c620 2015-04-21        kinaba: 	alias ChooseFontW ChooseFont;
4e2933c620 2015-04-21        kinaba: 	alias FindTextW FindText;
4e2933c620 2015-04-21        kinaba: 	alias GetFileTitleW GetFileTitle;
4e2933c620 2015-04-21        kinaba: 	alias GetOpenFileNameW GetOpenFileName;
4e2933c620 2015-04-21        kinaba: 	alias GetSaveFileNameW GetSaveFileName;
4e2933c620 2015-04-21        kinaba: 	alias PageSetupDlgW PageSetupDlg;
4e2933c620 2015-04-21        kinaba: 	alias PrintDlgW PrintDlg;
4e2933c620 2015-04-21        kinaba: 	alias ReplaceTextW ReplaceText;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		alias PRINTDLGEXW PRINTDLGEX;
4e2933c620 2015-04-21        kinaba: 		alias PrintDlgExW PrintDlgEx;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: } else { // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 	alias CHOOSECOLORA CHOOSECOLOR;
4e2933c620 2015-04-21        kinaba: 	alias CHOOSEFONTA CHOOSEFONT;
4e2933c620 2015-04-21        kinaba: 	alias FINDREPLACEA FINDREPLACE;
4e2933c620 2015-04-21        kinaba: 	alias OPENFILENAMEA OPENFILENAME;
4e2933c620 2015-04-21        kinaba: 	alias OFNOTIFYA OFNOTIFY;
4e2933c620 2015-04-21        kinaba: 	alias PAGESETUPDLGA PAGESETUPDLG;
4e2933c620 2015-04-21        kinaba: 	alias PRINTDLGA PRINTDLG;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 	alias ChooseColorA ChooseColor;
4e2933c620 2015-04-21        kinaba: 	alias ChooseFontA ChooseFont;
4e2933c620 2015-04-21        kinaba: 	alias FindTextA FindText;
4e2933c620 2015-04-21        kinaba: 	alias GetFileTitleA GetFileTitle;
4e2933c620 2015-04-21        kinaba: 	alias GetOpenFileNameA GetOpenFileName;
4e2933c620 2015-04-21        kinaba: 	alias GetSaveFileNameA GetSaveFileName;
4e2933c620 2015-04-21        kinaba: 	alias PageSetupDlgA PageSetupDlg;
4e2933c620 2015-04-21        kinaba: 	alias PrintDlgA PrintDlg;
4e2933c620 2015-04-21        kinaba: 	alias ReplaceTextA ReplaceText;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		alias PRINTDLGEXA PRINTDLGEX;
4e2933c620 2015-04-21        kinaba: 		alias PrintDlgExA PrintDlgEx;
4e2933c620 2015-04-21        kinaba: 	}
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: } // UNICODE
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: alias CHOOSECOLOR* LPCHOOSECOLOR;
4e2933c620 2015-04-21        kinaba: alias CHOOSEFONT* LPCHOOSEFONT;
4e2933c620 2015-04-21        kinaba: alias FINDREPLACE* LPFINDREPLACE;
4e2933c620 2015-04-21        kinaba: alias OPENFILENAME* LPOPENFILENAME;
4e2933c620 2015-04-21        kinaba: alias OFNOTIFY* LPOFNOTIFY;
4e2933c620 2015-04-21        kinaba: alias PAGESETUPDLG* LPPAGESETUPDLG;
4e2933c620 2015-04-21        kinaba: alias PRINTDLG* LPPRINTDLG;
4e2933c620 2015-04-21        kinaba: static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	alias PRINTDLGEX* LPPRINTDLGEX;
4e2933c620 2015-04-21        kinaba: }