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