📄 oleconsts.pas
字号:
//--- Ole Constant and Enum Conversions ----------------------------------------
//
// Conversion of C styled constants and enumerations into Delphi ones.
// Maintains a list of known clipboard formats for use in property editors etc.
// Also performs OleInitialize and OleUnOnitalize.
//
// Always use! Use Always!
//
// Grahame Marsh
// Freeware for UNDU - you get it for free I make no promises
// gsmarsh@aol.com
//------------------------------------------------------------------------------
{$INCLUDE OLE.INC}
unit OleConsts;
interface
uses
Windows, SysUtils, Classes, ActiveX, ShlObj, CommDlg,
{$IFDEF GIF}
GifImage,
{$ENDIF}
Richedit, RichOle, OleDlg;
//--- UTILITIES ----------------------------------------------------------------
// Drop effects as Delphi style constants (originals in ActiveX)
const
deNone = DROPEFFECT_NONE;
deMove = DROPEFFECT_MOVE;
deCopy = DROPEFFECT_COPY;
deLink = DROPEFFECT_LINK;
deScroll = longint(DROPEFFECT_SCROLL);
// Data transfer direction during data type enumeration (original in ActiveX)
// as Delphi style constants
const
ddGet = DATADIR_GET;
ddSet = DATADIR_SET;
// Type of storage medium for data formats (original in ActiveX)
// as Delphi style constants
const
tsGlobal = TYMED_HGLOBAL; // handle to global memory clock
tsFile = TYMED_FILE; // file
tsStream = TYMED_ISTREAM; // stream interface
tsStorage = TYMED_ISTORAGE; // storage interface
tsGDI = TYMED_GDI; // gdi object
tsMetafilePict = TYMED_MFPICT; // metafilepict structure
tsEnhMetafile = TYMED_ENHMF; // enhanced metafile
tsNull = TYMED_NULL; // no storage
// View Aspect (original in ActiveX) as Delphi style constants
const
dvaContent = DVASPECT_CONTENT;
dvaThumbnail = DVASPECT_THUMBNAIL;
dvaIcon = DVASPECT_ICON;
dvaDocPrint = DVASPECT_DOCPRINT;
dvaShortName = DVASPECT_SHORTNAME; // in ShlObj
// Miscellaneous Ole flags (original in ActiveX) as Delphi style constants
const
omRecomposeOnResize = OLEMISC_RECOMPOSEONRESIZE;
omOnlyIconic = OLEMISC_ONLYICONIC;
omInsertNotReplace = OLEMISC_INSERTNOTREPLACE;
omStatic = OLEMISC_STATIC;
omCantLinkInsize = OLEMISC_CANTLINKINSIDE;
omCanLinkByOLE = OLEMISC_CANLINKBYOLE1;
omIsLinkObject = OLEMISC_ISLINKOBJECT;
omInsizeOut = OLEMISC_INSIDEOUT;
omActivateWhenVisible = OLEMISC_ACTIVATEWHENVISIBLE;
omRenderingDI = OLEMISC_RENDERINGISDEVICEINDEPENDENT;
omInvisible = OLEMISC_INVISIBLEATRUNTIME;
omAlwaysRun = OLEMISC_ALWAYSRUN;
omButton = OLEMISC_ACTSLIKEBUTTON;
omLabel = OLEMISC_ACTSLIKELABEL;
omNoUIActivate = OLEMISC_NOUIACTIVATE;
omAlignable = OLEMISC_ALIGNABLE;
omSimpleFrame = OLEMISC_SIMPLEFRAME;
omSetClientSiteFirst = OLEMISC_SETCLIENTSITEFIRST;
omIMEMode = OLEMISC_IMEMODE;
omNoReactivate = OLEMISC_IGNOREACTIVATEWHENVISIBLE;
omWantsToMenuMerge = OLEMISC_WANTSTOMENUMERGE;
omMultiUndu = OLEMISC_SUPPORTSMULTILEVELUNDO;
// File descriptor data validation flags (originals in ShlObj)
const
fdCLSID = FD_CLSID; // $0001
fdSizePoint = FD_SIZEPOINT; // $0002
fdAttributes = FD_ATTRIBUTES; // $0004
fdCreateTime = FD_CREATETIME; // $0008
fdAccessTime = FD_ACCESSTIME; // $0010
fdWritesTime = FD_WRITESTIME; // $0020
fdFileSize = FD_FILESIZE; // $0040
fdLinkUI = FD_LINKUI; // $8000 'link' UI is preferred
// File attributes, the first six are defined in SysUtils.pas and the
// remainder redeclared from Windows.pas
const
// faReadOnly = FILE_ATTRIBUTE_READONLY; // $00000001
// faHidden = FILE_ATTRIBUTE_HIDDEN; // $00000002
// faSysFile = FILE_ATTRIBUTE_SYSTEM; // $00000004
// faVolumeID = $00000008;
// faDirectory = FILE_ATTRIBUTE_DIRECTORY; // $00000010
// faArchive = FILE_ATTRIBUTE_ARCHIVE; // $00000020
faNormal = FILE_ATTRIBUTE_NORMAL; // $00000080
faTemporary = FILE_ATTRIBUTE_TEMPORARY; // $00000100
faCompressed = FILE_ATTRIBUTE_COMPRESSED; // $00000800
faOffline = FILE_ATTRIBUTE_OFFLINE; // $00001000
// Extra clipboard formats available (maybe, maybe)
var
CF_EMFPICTURE,
CF_FILENAME,
CF_ICON,
CF_RTF,
CF_RTFNOOBJS,
CF_RETEXTOBJ,
// CF_RTFASTEXT,
CF_URL,
CF_NETSCAPE,
CF_CSV,
CF_FILENAMEA,
CF_PRINTERS,
CF_FILENAMEMAP,
CF_FILENAMEMAPA,
CF_EMBEDDEDOBJECT,
CF_OBJECTDESCRIPTOR,
CF_LINKSRCDESCRIPTOR,
CF_LINKSOURCE,
CF_SHELLSCRAP,
CF_FILEDESCRIPTOR,
CF_FILEDESCRIPTORA,
CF_FILECONTENTS,
CF_PICTURE,
CF_COMPONENT,
CF_OBJECT,
CF_IDLIST,
CF_PREFERREDDROPEFFECT,
CF_OBJECTPOSITIONS : TClipFormat;
// Clipboard formats repeated as cfXxxx style variables
cfEMFPicture : TClipFormat absolute CF_EMFPICTURE;
cfFilename : TClipFormat absolute CF_FILENAME;
cfRTF : TClipFormat absolute CF_RTF;
cfCSV : TClipFormat absolute CF_CSV;
cfURL : TClipFormat absolute CF_URL;
cfNetscape : TClipFormat absolute CF_NETSCAPE;
cfPrinters : TClipFormat absolute CF_PRINTERS;
cfFilenameMap : TClipFormat absolute CF_FILENAMEMAP;
cfEmbeddedObject : TClipFormat absolute CF_EMBEDDEDOBJECT;
cfObjectDescriptor : TClipFormat absolute CF_OBJECTDESCRIPTOR;
cfLinkSrcDescriptor : TClipFormat absolute CF_LINKSRCDESCRIPTOR;
cfLinkSource : TClipFormat absolute CF_LINKSOURCE;
cfShellScrap : TClipFormat absolute CF_SHELLSCRAP;
cfFileDescriptor : TClipFormat absolute CF_FILEDESCRIPTOR;
cfFileContents : TClipFormat absolute CF_FILECONTENTS;
cfPicture : TClipFormat absolute CF_PICTURE;
cfComponent : TClipFormat absolute CF_COMPONENT;
cfObject : TClipFormat absolute CF_OBJECT;
cfIDList : TClipFormat absolute CF_IDLIST;
cfObjectPositions : TClipFormat absolute CF_OBJECTPOSITIONS;
cfPreferredDropEffect : TClipFormat absolute CF_PREFERREDDROPEFFECT;
cfIcon : TClipFormat absolute CF_ICON;
{$IFDEF GIF}
cfGif : TClipFormat absolute CF_GIF;
{$ENDIF}
cfRtfNoObjs : TClipformat absolute CF_RTFNOOBJS;
cfRETextObj : TClipformat absolute CF_RETEXTOBJ;
// cfRtfAsText : TClipformat absolute CF_RTFASTEXT;
const
CF_NULL = 0;
cfNull = CF_NULL;
// Predefined windows clipboard formats - originals in windows.pas
// as cfXxxxx style constants
cfText = CF_TEXT; // 1
cfBitmap = CF_BITMAP; // 2
cfMetafilePict = CF_METAFILEPICT; // 3
cfSylk = CF_SYLK; // 4
cfDif = CF_DIF; // 5
cfTiff = CF_TIFF; // 6
cfOEMText = CF_OEMTEXT; // 7
cfDIB = CF_DIB; // 8
cfPalette = CF_PALETTE; // 9
cfPenData = CF_PENDATA; // 10
cfRiff = CF_RIFF; // 11
cfWave = CF_WAVE; // 12
cfUnicode = CF_UNICODETEXT; // 13
cfEnhMetafile = CF_ENHMETAFILE; // 14
cfHDrop = CF_HDROP; // 15
cfLocale = CF_LOCALE; // 16
cfFilenames = CF_HDROP;
CF_FILENAMES = CF_HDROP;
const
ddOk = S_OK; // $00000000 Success codes
ddBad = S_FALSE; // $00000001
ddUnexpected = E_UNEXPECTED; // $8000FFFF Catastrophic failure
ddBadFormatEtc = DV_E_FORMATETC;
ddNotImplemented = E_NOTIMPL;
ddInvalidArg = E_INVALIDARG; // 80070057
ddNoAdvise = OLE_E_ADVISENOTSUPPORTED;
ddDrop = DRAGDROP_S_DROP; // $00040100 Successful drop took place
ddCancel = DRAGDROP_S_CANCEL; // $00040101 Drag-drop operation cancelled
ddDefault = DRAGDROP_S_USEDEFAULTCURSORS; // $00040102 Use the default cursor
ddSameFormatEtc = DATA_S_SAMEFORMATETC;
// Corrections to OleDlg.pas ???
const
OLEUI_ERR_OLEMEMALLOC = 100; // not 116
OLEUI_ERR_STANDARDMAX = 116; // not 117
// Busy Dialog errors/return codes
OLEUI_BZERR_HTASKINVALID = OLEUI_ERR_STANDARDMAX + 0;
OLEUI_BZ_SWITCHTOSELECTED = OLEUI_ERR_STANDARDMAX + 1;
OLEUI_BZ_RETRYSELECTED = OLEUI_ERR_STANDARDMAX + 2;
OLEUI_BZ_CALLUNBLOCKED = OLEUI_ERR_STANDARDMAX + 3;
// Paste Special errors
OLEUI_IOERR_SRCDATAOBJECTINVALID = OLEUI_ERR_STANDARDMAX + 0;
OLEUI_IOERR_ARRPASTEENTRIESINVALID = OLEUI_ERR_STANDARDMAX + 1;
OLEUI_IOERR_ARRLINKTYPESINVALID = OLEUI_ERR_STANDARDMAX + 2;
OLEUI_PSERR_CLIPBOARDCHANGED = OLEUI_ERR_STANDARDMAX + 3;
OLEUI_PSERR_GETCLIPBOARDFAILED = OLEUI_ERR_STANDARDMAX + 4;
// Change Icon specific error codes
OLEUI_CIERR_MUSTHAVECLSID = OLEUI_ERR_STANDARDMAX + 0;
OLEUI_CIERR_MUSTHAVECURRENTMETAFILE = OLEUI_ERR_STANDARDMAX + 1;
OLEUI_CIERR_SZICONEXEINVALID = OLEUI_ERR_STANDARDMAX + 2;
// Insert Object specfic error codes
OLEUI_IOERR_LPSZFILEINVALID = OLEUI_ERR_STANDARDMAX + 0;
OLEUI_IOERR_LPSZLABELINVALID = OLEUI_ERR_STANDARDMAX + 1;
OLEUI_IOERR_HICONINVALID = OLEUI_ERR_STANDARDMAX + 2;
OLEUI_IOERR_LPFORMATETCINVALID = OLEUI_ERR_STANDARDMAX + 3;
OLEUI_IOERR_PPVOBJINVALID = OLEUI_ERR_STANDARDMAX + 4;
OLEUI_IOERR_LPIOLECLIENTSITEINVALID = OLEUI_ERR_STANDARDMAX + 5;
OLEUI_IOERR_LPISTORAGEINVALID = OLEUI_ERR_STANDARDMAX + 6;
OLEUI_IOERR_SCODEHASERROR = OLEUI_ERR_STANDARDMAX + 7;
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID = OLEUI_ERR_STANDARDMAX + 8;
OLEUI_IOERR_CCHFILEINVALID = OLEUI_ERR_STANDARDMAX + 9;
// ObjectProperties specific errors
OLEUI_OPERR_SUBPROPNULL = OLEUI_ERR_STANDARDMAX+0;
OLEUI_OPERR_SUBPROPINVALID = OLEUI_ERR_STANDARDMAX+1;
OLEUI_OPERR_PROPSHEETNULL = OLEUI_ERR_STANDARDMAX+2;
OLEUI_OPERR_PROPSHEETINVALID = OLEUI_ERR_STANDARDMAX+3;
OLEUI_OPERR_SUPPROP = OLEUI_ERR_STANDARDMAX+4;
OLEUI_OPERR_PROPSINVALID = OLEUI_ERR_STANDARDMAX+5;
OLEUI_OPERR_PAGESINCORRECT = OLEUI_ERR_STANDARDMAX+6;
OLEUI_OPERR_INVALIDPAGES = OLEUI_ERR_STANDARDMAX+7;
OLEUI_OPERR_NOTSUPPORTED = OLEUI_ERR_STANDARDMAX+8;
OLEUI_OPERR_DLGPROCNOTNULL = OLEUI_ERR_STANDARDMAX+9;
OLEUI_OPERR_LPARAMNOTZERO = OLEUI_ERR_STANDARDMAX+10;
OLEUI_GPERR_STRINGINVALID = OLEUI_ERR_STANDARDMAX+11;
OLEUI_GPERR_CLASSIDINVALID = OLEUI_ERR_STANDARDMAX+12;
OLEUI_GPERR_LPCLSIDEXCLUDEINVALID = OLEUI_ERR_STANDARDMAX+13;
OLEUI_GPERR_CBFORMATINVALID = OLEUI_ERR_STANDARDMAX+14;
OLEUI_VPERR_METAPICTINVALID = OLEUI_ERR_STANDARDMAX+15;
OLEUI_VPERR_DVASPECTINVALID = OLEUI_ERR_STANDARDMAX+16;
OLEUI_LPERR_LINKCNTRNULL = OLEUI_ERR_STANDARDMAX+17;
OLEUI_LPERR_LINKCNTRINVALID = OLEUI_ERR_STANDARDMAX+18;
OLEUI_OPERR_PROPERTYSHEET = OLEUI_ERR_STANDARDMAX+19;
OLEUI_OPERR_OBJINFOINVALID = OLEUI_ERR_STANDARDMAX+20;
OLEUI_OPERR_LINKINFOINVALID = OLEUI_ERR_STANDARDMAX+21;
// Convert dialog errors
OLEUI_CTERR_CLASSIDINVALID = OLEUI_ERR_STANDARDMAX + 1;
OLEUI_CTERR_DVASPECTINVALID = OLEUI_ERR_STANDARDMAX + 2;
OLEUI_CTERR_CBFORMATINVALID = OLEUI_ERR_STANDARDMAX + 3;
OLEUI_CTERR_HMETAPICTINVALID = OLEUI_ERR_STANDARDMAX + 4;
OLEUI_CTERR_STRINGINVALID = OLEUI_ERR_STANDARDMAX + 5;
// Change Source Dialog errors (not declared in oledlg.pas but put here for consistency
OLEUI_CSERR_LINKCNTRNULL = OLEUI_ERR_STANDARDMAX+0;
OLEUI_CSERR_LINKCNTRINVALID = OLEUI_ERR_STANDARDMAX+1;
OLEUI_CSERR_FROMNOTNULL = OLEUI_ERR_STANDARDMAX+2;
OLEUI_CSERR_TONOTNULL = OLEUI_ERR_STANDARDMAX+3;
OLEUI_CSERR_SOURCENULL = OLEUI_ERR_STANDARDMAX+4;
OLEUI_CSERR_SOURCEINVALID = OLEUI_ERR_STANDARDMAX+5;
OLEUI_CSERR_SOURCEPARSEERROR = OLEUI_ERR_STANDARDMAX+6;
const
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -