Copyright (C) 1994, Digital Equipment Corp.
Translated from commdlg.h, Copyright (c) 1992-1993
Microsoft Corporation
INTERFACE CommDlg;
FROM Ctypes IMPORT short;
FROM WinDef IMPORT BOOL, WORD, DWORD, UINT, HWND, HDC, WPARAM, LPARAM,
HINSTANCE, INT, COLORREF, LPCOLORREF, HGLOBAL;
FROM WinNT IMPORT LPSTR, LPWSTR, LPCSTR, LPCWSTR;
FROM WinGDI IMPORT LPLOGFONTA, LPLOGFONTW;
FROM WinUser IMPORT WM_USER;
TYPE
LPOFNHOOKPROC = <*APIENTRY*> PROCEDURE (a0: HWND; a1: UINT;
a2: WPARAM; a3: LPARAM): UINT;
TYPE
LPOPENFILENAMEA = UNTRACED REF OPENFILENAMEA;
OPENFILENAMEA = RECORD
lStructSize : DWORD;
hwndOwner : HWND;
hInstance : HINSTANCE;
lpstrFilter : LPCSTR;
lpstrCustomFilter : LPSTR;
nMaxCustFilter : DWORD;
nFilterIndex : DWORD;
lpstrFile : LPSTR;
nMaxFile : DWORD;
lpstrFileTitle : LPSTR;
nMaxFileTitle : DWORD;
lpstrInitialDir : LPCSTR;
lpstrTitle : LPCSTR;
Flags : DWORD;
nFileOffset : WORD;
nFileExtension : WORD;
lpstrDefExt : LPCSTR;
lCustData : LPARAM;
lpfnHook : LPOFNHOOKPROC;
lpTemplateName : LPCSTR;
END;
LPOPENFILENAMEW = UNTRACED REF OPENFILENAMEW;
OPENFILENAMEW = RECORD
lStructSize : DWORD;
hwndOwner : HWND;
hInstance : HINSTANCE;
lpstrFilter : LPCWSTR;
lpstrCustomFilter : LPWSTR;
nMaxCustFilter : DWORD;
nFilterIndex : DWORD;
lpstrFile : LPWSTR;
nMaxFile : DWORD;
lpstrFileTitle : LPWSTR;
nMaxFileTitle : DWORD;
lpstrInitialDir : LPCWSTR;
lpstrTitle : LPCWSTR;
Flags : DWORD;
nFileOffset : WORD;
nFileExtension : WORD;
lpstrDefExt : LPCWSTR;
lCustData : LPARAM;
lpfnHook : LPOFNHOOKPROC;
lpTemplateName : LPCWSTR;
END;
OPENFILENAME = OPENFILENAMEA;
LPOPENFILENAME = LPOPENFILENAMEA;
<*EXTERNAL GetOpenFileNameA:APIENTRY*>
PROCEDURE GetOpenFileNameA (a1: LPOPENFILENAMEA): BOOL;
<*EXTERNAL GetOpenFileNameW:APIENTRY*>
PROCEDURE GetOpenFileNameW (a1: LPOPENFILENAMEW): BOOL;
CONST GetOpenFileName = GetOpenFileNameA;
<*EXTERNAL GetSaveFileNameA:APIENTRY*>
PROCEDURE GetSaveFileNameA (a1: LPOPENFILENAMEA): BOOL;
<*EXTERNAL GetSaveFileNameW:APIENTRY*>
PROCEDURE GetSaveFileNameW (a1: LPOPENFILENAMEW): BOOL;
CONST GetSaveFileName = GetSaveFileNameA;
<*EXTERNAL GetFileTitleA:APIENTRY*>
PROCEDURE GetFileTitleA (a1: LPCSTR; a2: LPSTR; a3: WORD): short;
<*EXTERNAL GetFileTitleW:APIENTRY*>
PROCEDURE GetFileTitleW (a1: LPCWSTR; a2: LPWSTR; a3: WORD): short;
CONST GetFileTitle = GetFileTitleA;
CONST
OFN_READONLY = 16_00000001;
OFN_OVERWRITEPROMPT = 16_00000002;
OFN_HIDEREADONLY = 16_00000004;
OFN_NOCHANGEDIR = 16_00000008;
OFN_SHOWHELP = 16_00000010;
OFN_ENABLEHOOK = 16_00000020;
OFN_ENABLETEMPLATE = 16_00000040;
OFN_ENABLETEMPLATEHANDLE = 16_00000080;
OFN_NOVALIDATE = 16_00000100;
OFN_ALLOWMULTISELECT = 16_00000200;
OFN_EXTENSIONDIFFERENT = 16_00000400;
OFN_PATHMUSTEXIST = 16_00000800;
OFN_FILEMUSTEXIST = 16_00001000;
OFN_CREATEPROMPT = 16_00002000;
OFN_SHAREAWARE = 16_00004000;
OFN_NOREADONLYRETURN = 16_00008000;
OFN_NOTESTFILECREATE = 16_00010000;
OFN_NONETWORKBUTTON = 16_00020000;
OFN_NOLONGNAMES = 16_00040000;
Return values for the registered message sent to the hook function
when a sharing violation occurs. OFN_SHAREFALLTHROUGH allows the
filename to be accepted, OFN_SHARENOWARN rejects the name but puts
up no warning (returned when the app has already put up a warning
message), and OFN_SHAREWARN puts up the default warning message
for sharing violations.
Note: Undefined return values map to OFN_SHAREWARN, but are
reserved for future use.
CONST
OFN_SHAREFALLTHROUGH = 2;
OFN_SHARENOWARN = 1;
OFN_SHAREWARN = 0;
TYPE
LPCCHOOKPROC = <*APIENTRY*> PROCEDURE (a1: HWND; a2: UINT;
a3: WPARAM; a4: LPARAM): UINT;
LPCHOOSECOLORA = UNTRACED REF CHOOSECOLORA;
CHOOSECOLORA = RECORD
lStructSize : DWORD;
hwndOwner : HWND;
hInstance : HWND;
rgbResult : COLORREF;
lpCustColors : LPCOLORREF;
Flags : DWORD;
lCustData : LPARAM;
lpfnHook : LPCCHOOKPROC;
lpTemplateName : LPCSTR;
END;
LPCHOOSECOLORW = UNTRACED REF CHOOSECOLORW;
CHOOSECOLORW = RECORD
lStructSize : DWORD;
hwndOwner : HWND;
hInstance : HWND;
rgbResult : COLORREF;
lpCustColors : LPCOLORREF;
Flags : DWORD;
lCustData : LPARAM;
lpfnHook : LPCCHOOKPROC;
lpTemplateName : LPCWSTR;
END;
CHOOSECOLOR = CHOOSECOLORA;
LPCHOOSECOLOR = LPCHOOSECOLORA;
<*EXTERNAL ChooseColorA:APIENTRY*>
PROCEDURE ChooseColorA (a1: LPCHOOSECOLORA): BOOL;
<*EXTERNAL ChooseColorW:APIENTRY*>
PROCEDURE ChooseColorW (a1: LPCHOOSECOLORW): BOOL;
CONST ChooseColor = ChooseColorA;
CONST
CC_RGBINIT = 16_00000001;
CC_FULLOPEN = 16_00000002;
CC_PREVENTFULLOPEN = 16_00000004;
CC_SHOWHELP = 16_00000008;
CC_ENABLEHOOK = 16_00000010;
CC_ENABLETEMPLATE = 16_00000020;
CC_ENABLETEMPLATEHANDLE = 16_00000040;
TYPE
LPFRHOOKPROC = <*APIENTRY*> PROCEDURE (a1: HWND; a2: UINT;
a3: WPARAM; a4: LPARAM): UINT;
LPFINDREPLACEA = UNTRACED REF FINDREPLACEA;
FINDREPLACEA = RECORD
lStructSize : DWORD; (* size of this struct 16_20 *)
hwndOwner : HWND; (* handle to owner's window *)
hInstance : HINSTANCE; (* instance handle of.EXE that *)
(* contains cust. dlg. template *)
Flags : DWORD; (* one or more of the FR_?? *)
lpstrFindWhat : LPSTR; (* ptr. to search string *)
lpstrReplaceWith : LPSTR; (* ptr. to replace string *)
wFindWhatLen : WORD; (* size of find buffer *)
wReplaceWithLen : WORD; (* size of replace buffer *)
lCustData : LPARAM; (* data passed to hook fn. *)
lpfnHook : LPFRHOOKPROC; (* ptr. to hook fn. or NULL *)
lpTemplateName : LPCSTR; (* custom template name *)
END;
LPFINDREPLACEW = UNTRACED REF FINDREPLACEW;
FINDREPLACEW = RECORD
lStructSize : DWORD; (* size of this struct 16_20 *)
hwndOwner : HWND; (* handle to owner's window *)
hInstance : HINSTANCE; (* instance handle of.EXE that *)
(* contains cust. dlg. template *)
Flags : DWORD; (* one or more of the FR_?? *)
lpstrFindWhat : LPWSTR; (* ptr. to search string *)
lpstrReplaceWith : LPWSTR; (* ptr. to replace string *)
wFindWhatLen : WORD; (* size of find buffer *)
wReplaceWithLen : WORD; (* size of replace buffer *)
lCustData : LPARAM; (* data passed to hook fn. *)
lpfnHook : LPFRHOOKPROC; (* ptr. to hook fn. or NULL *)
lpTemplateName : LPCWSTR; (* custom template name *)
END;
FINDREPLACE = FINDREPLACEA;
LPFINDREPLACE = LPFINDREPLACEA;
CONST
FR_DOWN = 16_00000001;
FR_WHOLEWORD = 16_00000002;
FR_MATCHCASE = 16_00000004;
FR_FINDNEXT = 16_00000008;
FR_REPLACE = 16_00000010;
FR_REPLACEALL = 16_00000020;
FR_DIALOGTERM = 16_00000040;
FR_SHOWHELP = 16_00000080;
FR_ENABLEHOOK = 16_00000100;
FR_ENABLETEMPLATE = 16_00000200;
FR_NOUPDOWN = 16_00000400;
FR_NOMATCHCASE = 16_00000800;
FR_NOWHOLEWORD = 16_00001000;
FR_ENABLETEMPLATEHANDLE = 16_00002000;
FR_HIDEUPDOWN = 16_00004000;
FR_HIDEMATCHCASE = 16_00008000;
FR_HIDEWHOLEWORD = 16_00010000;
<*EXTERNAL FindTextA:APIENTRY*>
PROCEDURE FindTextA (a1: LPFINDREPLACEA): HWND;
<*EXTERNAL FindTextW:APIENTRY*>
PROCEDURE FindTextW (a1: LPFINDREPLACEW): HWND;
CONST FindText = FindTextA;
<*EXTERNAL ReplaceTextA:APIENTRY*>
PROCEDURE ReplaceTextA (a1: LPFINDREPLACEA): HWND;
<*EXTERNAL ReplaceTextW:APIENTRY*>
PROCEDURE ReplaceTextW (a1: LPFINDREPLACEW): HWND;
CONST ReplaceText = ReplaceTextA;
TYPE
LPCFHOOKPROC = <*APIENTRY*> PROCEDURE (a1: HWND; a2: UINT;
a3: WPARAM; a4: LPARAM): UINT;
LPCHOOSEFONTA = UNTRACED REF CHOOSEFONTA;
CHOOSEFONTA = RECORD
lStructSize : DWORD;
hwndOwner : HWND; (* caller's window handle *)
hDC : HDC; (* printer DC/IC or NULL *)
lpLogFont : LPLOGFONTA; (* ptr. to a LOGFONT struct *)
iPointSize : INT; (* 10 * size in points of selected font *)
Flags : DWORD; (* enum. type flags *)
rgbColors : COLORREF; (* returned text color *)
lCustData : LPARAM; (* data passed to hook fn. *)
lpfnHook : LPCFHOOKPROC; (* ptr. to hook function *)
lpTemplateName : LPCSTR; (* custom template name *)
hInstance : HINSTANCE; (* instance handle of.EXE that *)
(* contains cust. dlg. template *)
lpszStyle : LPSTR; (* return the style field here *)
(* must be LF_FACESIZE or bigger *)
nFontType : WORD; (* same value reported to the EnumFonts *)
(* call back with the extra FONTTYPE_ *)
(* bits added *)
___
MISSING_ALIGNMENT__ : WORD;
nSizeMin : INT; (* minimum pt size allowed & *)
nSizeMax : INT; (* max pt size allowed if *)
(* CF_LIMITSIZE is used *)
END;
LPCHOOSEFONTW = UNTRACED REF CHOOSEFONTW;
CHOOSEFONTW = RECORD
lStructSize : DWORD;
hwndOwner : HWND; (* caller's window handle *)
hDC : HDC; (* printer DC/IC or NULL *)
lpLogFont : LPLOGFONTW; (* ptr. to a LOGFONT struct *)
iPointSize : INT; (* 10 * size in points of selected font *)
Flags : DWORD; (* enum. type flags *)
rgbColors : COLORREF; (* returned text color *)
lCustData : LPARAM; (* data passed to hook fn. *)
lpfnHook : LPCFHOOKPROC; (* ptr. to hook function *)
lpTemplateName : LPCWSTR; (* custom template name *)
hInstance : HINSTANCE; (* instance handle of.EXE that *)
(* contains cust. dlg. template *)
lpszStyle : LPWSTR; (* return the style field here *)
(* must be LF_FACESIZE or bigger *)
nFontType : WORD; (* same value reported to the EnumFonts *)
(* call back with the extra FONTTYPE_ *)
(* bits added *)
___
MISSING_ALIGNMENT__ : WORD;
nSizeMin : INT; (* minimum pt size allowed & *)
nSizeMax : INT; (* max pt size allowed if *)
(* CF_LIMITSIZE is used *)
END;
CHOOSEFONT = CHOOSEFONTA;
LPCHOOSEFONT = LPCHOOSEFONTA;
<*EXTERNAL ChooseFontA:APIENTRY*>
PROCEDURE ChooseFontA (a1: LPCHOOSEFONTA): BOOL;
<*EXTERNAL ChooseFontW:APIENTRY*>
PROCEDURE ChooseFontW (a1: LPCHOOSEFONTW): BOOL;
CONST ChooseFont = ChooseFontA;
CONST
CF_SCREENFONTS = 16_00000001;
CF_PRINTERFONTS = 16_00000002;
CF_BOTH = CF_SCREENFONTS + CF_PRINTERFONTS;
CF_SHOWHELP = 16_00000004;
CF_ENABLEHOOK = 16_00000008;
CF_ENABLETEMPLATE = 16_00000010;
CF_ENABLETEMPLATEHANDLE = 16_00000020;
CF_INITTOLOGFONTSTRUCT = 16_00000040;
CF_USESTYLE = 16_00000080;
CF_EFFECTS = 16_00000100;
CF_APPLY = 16_00000200;
CF_ANSIONLY = 16_00000400;
CF_NOVECTORFONTS = 16_00000800;
CF_NOOEMFONTS = CF_NOVECTORFONTS;
CF_NOSIMULATIONS = 16_00001000;
CF_LIMITSIZE = 16_00002000;
CF_FIXEDPITCHONLY = 16_00004000;
CF_WYSIWYG = 16_00008000; (* must also have CF_SCREENFONTS
& CF_PRINTERFONTS *)
CF_FORCEFONTEXIST = 16_00010000;
CF_SCALABLEONLY = 16_00020000;
CF_TTONLY = 16_00040000;
CF_NOFACESEL = 16_00080000;
CF_NOSTYLESEL = 16_00100000;
CF_NOSIZESEL = 16_00200000;
these are extra nFontType bits that are added to what is returned to the
EnumFonts callback routine
CONST
SIMULATED_FONTTYPE = 16_8000;
PRINTER_FONTTYPE = 16_4000;
SCREEN_FONTTYPE = 16_2000;
BOLD_FONTTYPE = 16_0100;
ITALIC_FONTTYPE = 16_0200;
REGULAR_FONTTYPE = 16_0400;
WM_CHOOSEFONT_GETLOGFONT = (WM_USER + 1);
strings used to obtain unique window message for communication
between dialog and caller
CONST
LBSELCHSTRINGA = "commdlg_LBSelChangedNotify";
SHAREVISTRINGA = "commdlg_ShareViolation";
FILEOKSTRINGA = "commdlg_FileNameOK";
COLOROKSTRINGA = "commdlg_ColorOK";
SETRGBSTRINGA = "commdlg_SetRGBColor";
HELPMSGSTRINGA = "commdlg_help";
FINDMSGSTRINGA = "commdlg_FindReplace";
*
LBSELCHSTRINGW = Lcommdlg_LBSelChangedNotify;
SHAREVISTRINGW = Lcommdlg_ShareViolation;
FILEOKSTRINGW = Lcommdlg_FileNameOK;
COLOROKSTRINGW = Lcommdlg_ColorOK;
SETRGBSTRINGW = Lcommdlg_SetRGBColor;
HELPMSGSTRINGW = Lcommdlg_help;
FINDMSGSTRINGW = Lcommdlg_FindReplace;
*
LBSELCHSTRING = LBSELCHSTRINGA;
SHAREVISTRING = SHAREVISTRINGA;
FILEOKSTRING = FILEOKSTRINGA;
COLOROKSTRING = COLOROKSTRINGA;
SETRGBSTRING = SETRGBSTRINGA;
HELPMSGSTRING = HELPMSGSTRINGA;
FINDMSGSTRING = FINDMSGSTRINGA;
HIWORD values for lParam of commdlg_LBSelChangeNotify message
CONST
CD_LBSELNOITEMS = -1;
CD_LBSELCHANGE = 0;
CD_LBSELSUB = 1;
CD_LBSELADD = 2;
TYPE
LPPRINTHOOKPROC = <*APIENTRY*> PROCEDURE (a1: HWND; a2: UINT;
a3: WPARAM; a4: LPARAM): UINT;
LPSETUPHOOKPROC = <*APIENTRY*> PROCEDURE (a1: HWND; a2: UINT;
a3: WPARAM; a4: LPARAM): UINT;
TYPE
LPPRINTDLGA = UNTRACED REF PRINTDLGA;
PRINTDLGA = RECORD
lStructSize : DWORD;
hwndOwner : HWND;
hDevMode : HGLOBAL;
hDevNames : HGLOBAL;
hDC : HDC;
Flags : DWORD;
nFromPage : WORD;
nToPage : WORD;
nMinPage : WORD;
nMaxPage : WORD;
nCopies : WORD;
hInstance : HINSTANCE;
lCustData : LPARAM;
lpfnPrintHook : LPPRINTHOOKPROC;
lpfnSetupHook : LPSETUPHOOKPROC;
lpPrintTemplateName : LPCSTR;
lpSetupTemplateName : LPCSTR;
hPrintTemplate : HGLOBAL;
hSetupTemplate : HGLOBAL;
END;
LPPRINTDLGW = UNTRACED REF PRINTDLGW;
PRINTDLGW = RECORD
lStructSize : DWORD;
hwndOwner : HWND;
hDevMode : HGLOBAL;
hDevNames : HGLOBAL;
hDC : HDC;
Flags : DWORD;
nFromPage : WORD;
nToPage : WORD;
nMinPage : WORD;
nMaxPage : WORD;
nCopies : WORD;
hInstance : HINSTANCE;
lCustData : LPARAM;
lpfnPrintHook : LPPRINTHOOKPROC;
lpfnSetupHook : LPSETUPHOOKPROC;
lpPrintTemplateName : LPCWSTR;
lpSetupTemplateName : LPCWSTR;
hPrintTemplate : HGLOBAL;
hSetupTemplate : HGLOBAL;
END;
PRINTDLG = PRINTDLGA;
LPPRINTDLG = LPPRINTDLGA;
<*EXTERNAL PrintDlgA:APIENTRY*>
PROCEDURE PrintDlgA (a1: LPPRINTDLGA): BOOL;
<*EXTERNAL PrintDlgW:APIENTRY*>
PROCEDURE PrintDlgW (a1: LPPRINTDLGW): BOOL;
CONST PrintDlg = PrintDlgA;
CONST
PD_ALLPAGES = 16_00000000;
PD_SELECTION = 16_00000001;
PD_PAGENUMS = 16_00000002;
PD_NOSELECTION = 16_00000004;
PD_NOPAGENUMS = 16_00000008;
PD_COLLATE = 16_00000010;
PD_PRINTTOFILE = 16_00000020;
PD_PRINTSETUP = 16_00000040;
PD_NOWARNING = 16_00000080;
PD_RETURNDC = 16_00000100;
PD_RETURNIC = 16_00000200;
PD_RETURNDEFAULT = 16_00000400;
PD_SHOWHELP = 16_00000800;
PD_ENABLEPRINTHOOK = 16_00001000;
PD_ENABLESETUPHOOK = 16_00002000;
PD_ENABLEPRINTTEMPLATE = 16_00004000;
PD_ENABLESETUPTEMPLATE = 16_00008000;
PD_ENABLEPRINTTEMPLATEHANDLE = 16_00010000;
PD_ENABLESETUPTEMPLATEHANDLE = 16_00020000;
PD_USEDEVMODECOPIES = 16_00040000;
PD_DISABLEPRINTTOFILE = 16_00080000;
PD_HIDEPRINTTOFILE = 16_00100000;
PD_NONETWORKBUTTON = 16_00200000;
TYPE
LPDEFNAMES = UNTRACED REF DEVNAMES;
DEVNAMES = RECORD
wDriverOffset : WORD;
wDeviceOffset : WORD;
wOutputOffset : WORD;
wDefault : WORD;
END;
CONST DN_DEFAULTPRN = 16_0001;
<*EXTERNAL CommDlgExtendedError:APIENTRY*>
PROCEDURE CommDlgExtendedError (): DWORD;
END CommDlg.