home *** CD-ROM | disk | FTP | other *** search
-
- {*******************************************************}
- { }
- { Turbo Pascal for Windows Run-time Library }
- { Windows 3.1 API Interface Unit }
- { }
- { Copyright (c) 1992 Borland International }
- { }
- {*******************************************************}
-
- unit CommDlg;
-
- interface
-
- uses WinTypes;
-
- type
- POpenFilename = ^TOpenFilename;
- TOpenFilename = record
- lStructSize: Longint;
- hWndOwner: HWnd;
- hInstance: THandle;
- lpstrFilter: PChar;
- lpstrCustomFilter: PChar;
- nMaxCustFilter: Longint;
- nFilterIndex: Longint;
- lpstrFile: PChar;
- nMaxFile: Longint;
- lpstrFileTitle: PChar;
- nMaxFileTitle: Longint;
- lpstrInitialDir: PChar;
- lpstrTitle: PChar;
- Flags: Longint;
- nFileOffset: Word;
- nFileExtension: Word;
- lpstrDefExt: PChar;
- lCustData: Longint;
- lpfnHook: function (Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Word;
- lpTemplateName: PChar;
- end;
-
- function GetOpenFileName(var OpenFile: TOpenFilename): Bool;
- function GetSaveFileName(var OpenFile: TOpenFilename): Bool;
- function GetFileTitle(FileName, Title: PChar; TitleSize: Word): Integer;
-
- const
- ofn_ReadOnly = $00000001;
- ofn_OverWritePrompt = $00000002;
- ofn_HideReadOnly = $00000004;
- ofn_NoChangeDir = $00000008;
- ofn_ShowHelp = $00000010;
- ofn_EnableHook = $00000020;
- ofn_EnableTemplate = $00000040;
- ofn_EnableTemplateHandle = $00000080;
- ofn_NoValidate = $00000100;
- ofn_AllowMultiSelect = $00000200;
- ofn_ExtentionDifferent = $00000400;
- ofn_PathMustExist = $00000800;
- ofn_FileMustExist = $00001000;
- ofn_CreatePrompt = $00002000;
- ofn_ShareAware = $00004000;
- ofn_NoReadOnlyReturn = $00008000;
- ofn_NoTextFileCreate = $00010000;
-
- { 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. }
-
- ofn_ShareFallThrough = 2;
- ofn_ShareNoWarn = 1;
- ofn_ShareWarn = 0;
-
- type
- PChooseColor = ^TChooseColor;
- TChooseColor = record
- lStructSize: Longint;
- hWndOwner: HWnd;
- hInstance: HWnd;
- rgbResult: Longint;
- lpCustColors: PLongint;
- Flags: Longint;
- lCustData: Longint;
- lpfnHook: function (Wnd: HWnd; Message, wParam: Word;
- lParam: Longint): Word;
- lpTemplateName: PChar;
- end;
-
- function ChooseColor(var CC: TChooseColor): Bool;
-
- const
- cc_RGBInit = $00000001;
- cc_FullOpen = $00000002;
- cc_PreventFullOpen = $00000004;
- cc_ShowHelp = $00000008;
- cc_EnableHook = $00000010;
- cc_EnableTemplate = $00000020;
- cc_EnableTemplateHandle = $00000040;
-
- type
- PFindReplace = ^TFindReplace;
- TFindReplace = record
- lStructSize: Longint; { size of this struct $20 }
- hWndOwner: HWnd; { handle to owner's window }
- hInstance: THandle; { instance handle of.EXE that
- contains cust. dlg. template }
- Flags: Longint; { one or more of the fr_?? }
- lpstrFindWhat: PChar; { ptr. to search string }
- lpstrReplaceWith: PChar; { ptr. to replace string }
- wFindWhatLen: Word; { size of find buffer }
- wReplaceWithLen: Word; { size of replace buffer }
- lCustData: Longint; { data passed to hook fn. }
- lpfnHook: function (Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Word;
- { ptr. to hook fn. or nil }
- lpTemplateName: PChar; { custom template name }
- end;
-
- const
- fr_Down = $00000001;
- fr_WholeWord = $00000002;
- fr_MatchCase = $00000004;
- fr_FindNext = $00000008;
- fr_Replace = $00000010;
- fr_ReplaceAll = $00000020;
- fr_DialogTerm = $00000040;
- fr_ShowHelp = $00000080;
- fr_EnableHook = $00000100;
- fr_EnableTemplate = $00000200;
- fr_NoUpDown = $00000400;
- fr_NoMatchCase = $00000800;
- fr_NoWholeWord = $00001000;
- fr_EnableTemplateHandle = $00002000;
- fr_HideUpDown = $00004000;
- fr_HideMatchCase = $00008000;
- fr_HideWholeWord = $00010000;
-
- function FindText(var FindReplace: TFindReplace): HWnd;
- function ReplaceText(var FindReplace: TFindReplace): HWnd;
-
- type
- PChooseFont = ^TChooseFont;
- TChooseFont = record
- lStructSize: Longint; { }
- hWndOwner: HWnd; { caller's window handle }
- hDC: HDC; { printer DC/IC or nil }
- lpLogFont: PLogFont; { ptr. to a LOGFONT struct }
- iPointSize: Integer; { 10 * size in points of selected font }
- Flags: Longint; { enum. type flags }
- rgbColors: Longint; { returned text color }
- lCustData: Longint; { data passed to hook fn. }
- lpfnHook: function (Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Word;
- { ptr. to hook function }
- lpTemplateName: PChar; { custom template name }
- hInstance: THandle; { instance handle of.EXE that
- contains cust. dlg. template }
- lpszStyle: PChar; { 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 }
- nSizeMin: Integer; { minimum pt size allowed & }
- nSizeMax: Integer; { max pt size allowed if
- cf_LimitSize is used }
- end;
-
- function ChooseFont(var ChooseFond: TChooseFont): Bool;
-
- const
- cf_ScreenFonts = $00000001;
- cf_PrinterFonts = $00000002;
- cf_Both = cf_ScreenFonts or cf_PrinterFonts;
- cf_ShowHelp = $00000004;
- cf_EnableHook = $00000008;
- cf_EnableTemplate = $00000010;
- cf_EnableTemplateHandle = $00000020;
- cf_InitToLogfontStruct = $00000040;
- cf_UseStyle = $00000080;
- cf_Effects = $00000100;
- cf_Apply = $00000200;
- cf_AnsiOnly = $00000400;
- cf_NoVectorFonts = $00000800;
- cf_NoOEMFonts = cf_NoVectorFonts;
- cf_NoSimulations = $00001000;
- cf_LimitSize = $00002000;
- cf_FixedPitchOnly = $00004000;
- cf_WYSIWYG = $00008000; { must also have cf_ScreenFonts & cf_PrinterFonts }
- cf_ForceFontExist = $00010000;
- cf_ScalableOnly = $00020000;
- cf_TTOnly = $00040000;
- cf_NoFaceSel = $00080000;
- cf_NoStyleSel = $00100000;
- cf_NoSizeSel = $00200000;
-
- { these are extra nFontType bits that are added to what is returned to the
- EnumFonts callback routine }
-
- Simulated_FontType = $8000;
- Printer_FontType = $4000;
- Screen_FontType = $2000;
- Bold_FontType = $0100;
- Italic_FontType = $0200;
- Regular_FontType = $0400;
-
- wm_ChooseFont_GetLogfont = wm_User + 1;
-
-
- { strings used to obtain unique window message for communication
- between dialog and caller }
-
- LBSelChString = 'commdlg_LBSelChangedNotify';
- ShareViString = 'commdlg_ShareViolation';
- FileOKString = 'commdlg_FileNameOK';
- ColorOKString = 'commdlg_ColorOK';
- SetRGBString = 'commdlg_SetRGBColor';
- FindMsgString = 'commdlg_FindReplace';
- HelpMsgString = 'commdlg_help';
-
- { HIWORD values for lParam of commdlg_LBSelChangeNotify message }
-
- const
- cd_LBSelNoItems = -1;
- cd_LBSelChange = 0;
- cd_LBSELSUB = 1;
- cd_LBSelAdd = 2;
-
- type
- PPrintDlg = ^TPrintDlg;
- TPrintDlg = record
- lStructSize: Longint;
- hWndOwner: HWnd;
- hDevMode: THandle;
- hDevNames: THandle;
- hDC: HDC;
- Flags: Longint;
- nFromPage: Word;
- nToPage: Word;
- nMinPage: Word;
- nMaxPage: Word;
- nCopies: Word;
- hInstance: THandle;
- lCustData: Longint;
- lpfnPrintHook: function (Wnd: HWnd; Msg, wParam: Word;
- lParam: Longint): Integer;
- lpfnSetupHook: function (Wnd: HWnd; Msg, wParam: Word;
- lParam: Longint): Integer;
- lpPrintTemplateName: PChar;
- lpSetupTemplateName: PChar;
- hPrintTemplate: THandle;
- hSetupTemplate: THandle;
- end;
-
- function PrintDlg(var PrintDlg: TPrintDlg): Bool;
-
- const
- pd_AllPages = $00000000;
- pd_Selection = $00000001;
- pd_PageNums = $00000002;
- pd_NoSelection = $00000004;
- pd_NoPageNums = $00000008;
- pd_Collate = $00000010;
- pd_PrintToFile = $00000020;
- pd_PrintSetup = $00000040;
- pd_NoWarning = $00000080;
- pd_ReturnDC = $00000100;
- pd_ReturnIC = $00000200;
- pd_ReturnDefault = $00000400;
- pd_ShowHelp = $00000800;
- pd_EnablePrintHook = $00001000;
- pd_EnableSetupHook = $00002000;
- pd_EnablePrintTemplate = $00004000;
- pd_EnableSetupTemplate = $00008000;
- pd_EnablePrintTemplateTHandle = $00010000;
- pd_EnableSetupTemplateTHandle = $00020000;
- pd_UseDevModeCopies = $00040000;
- pd_DisablePrintToFile = $00080000;
- pd_HidePrintToFile = $00100000;
-
- type
- PDevNames = ^TDevNames;
- TDevNames = record
- wDriverOffset: Word;
- wDeviceOffset: Word;
- wOutputOffset: Word;
- wDefault: Word;
- end;
-
- const
- dn_DefaultPrn = $0001;
-
- function CommDlgExtendedError: Longint;
-
- const
- cderr_DialogFailure = $FFFF;
-
- cderr_GeneralCodes = $0000;
- cderr_StructSize = $0001;
- cderr_Initialization = $0002;
- cderr_NoTemplate = $0003;
- cderr_NoHInstance = $0004;
- cderr_LoadStrFailure = $0005;
- cderr_FindResFailure = $0006;
- cderr_LoadResFailure = $0007;
- cderr_LockResFailure = $0008;
- cderr_MemAllocFailure = $0009;
- cderr_MemLockFailure = $000A;
- cderr_NoHook = $000B;
- cderr_RegisterMsgFail = $000C;
-
- pderr_PrinterCodes = $1000;
- pderr_SetupFailure = $1001;
- pderr_ParseFailure = $1002;
- pderr_RetDefFailure = $1003;
- pderr_LoadDrvFailure = $1004;
- pderr_GetDevModeFail = $1005;
- pderr_InitFailure = $1006;
- pderr_NoDevices = $1007;
- pderr_NoDefaultPrn = $1008;
- pderr_DNDMMismatch = $1009;
- pderr_CreateICFailure = $100A;
- pderr_PrinterNotFound = $100B;
- pderr_DefaultDifferent = $100C;
-
- cferr_ChooseFontCodes = $2000;
- cferr_NoFonts = $2001;
- cferr_MaxLessThanMin = $2002;
-
- fnErr_FilenameCodes = $3000;
- fnErr_SubclassFailure = $3001;
- fnErr_InvalidFilename = $3002;
- fnErr_BufferTooSmall = $3003;
-
- frErr_FindReplaceCodes = $4000;
- frErr_BufferLengthZero = $4001;
-
- ccErr_ChooseColorCodes = $5000;
-
- implementation
-
- function GetOpenFileName; external 'COMMDLG' index 1;
- function GetSaveFileName; external 'COMMDLG' index 2;
- function GetFileTitle; external 'COMMDLG' index 27;
- function ChooseColor; external 'COMMDLG' index 5;
- function FindText; external 'COMMDLG' index 11;
- function ReplaceText; external 'COMMDLG' index 12;
- function ChooseFont; external 'COMMDLG' index 15;
- function PrintDlg; external 'COMMDLG' index 20;
- function CommDlgExtendedError; external 'COMMDLG' index 26;
-
- end.
-
-