mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-02 03:20:41 +01:00
181 lines
5.1 KiB
ObjectPascal
181 lines
5.1 KiB
ObjectPascal
Unit StdOle2;
|
|
|
|
// Imported on 24/12/2011 13:43:11 from C:\WINDOWS\system32\stdole2.tlb
|
|
// Modified by Ludo Brands to remove redeclarations
|
|
// Warning: renamed method 'Reset' in IEnumVARIANT to 'Reset_'
|
|
// Warning: renamed property 'Type' in IPicture to 'Type_'
|
|
// Warning: 'pointer' not automatable in Picturedisp.Render
|
|
// Warning: renamed property 'Type' in Picture to 'Type_'
|
|
|
|
{$mode delphi}{$H+}
|
|
|
|
interface
|
|
uses Windows, ActiveX, Classes, OleServer, Variants;
|
|
Const
|
|
stdoleMajorVersion = 2;
|
|
stdoleMinorVersion = 0;
|
|
|
|
LIBID_stdole : TGUID = '{00020430-0000-0000-C000-000000000046}';
|
|
|
|
IID_IUnknown : TGUID = '{00000000-0000-0000-C000-000000000046}';
|
|
IID_IDispatch : TGUID = '{00020400-0000-0000-C000-000000000046}';
|
|
IID_IEnumVARIANT : TGUID = '{00020404-0000-0000-C000-000000000046}';
|
|
IID_IFont : TGUID = '{BEF6E002-A874-101A-8BBA-00AA00300CAB}';
|
|
IID_Font : TGUID = '{BEF6E003-A874-101A-8BBA-00AA00300CAB}';
|
|
CLASS_StdFont : TGUID = '{0BE35203-8F91-11CE-9DE3-00AA004BB851}';
|
|
IID_IPicture : TGUID = '{7BF80980-BF32-101A-8BBB-00AA00300CAB}';
|
|
IID_Picture : TGUID = '{7BF80981-BF32-101A-8BBB-00AA00300CAB}';
|
|
CLASS_StdPicture : TGUID = '{0BE35204-8F91-11CE-9DE3-00AA004BB851}';
|
|
IID_FontEvents : TGUID = '{4EF6100A-AF88-11D0-9846-00C04FC29993}';
|
|
|
|
//Enums
|
|
Type
|
|
OLE_TRISTATE =TOleEnum;
|
|
Const
|
|
Unchecked = $0000000000000000;
|
|
Checked = $0000000000000001;
|
|
Gray = $0000000000000002;
|
|
Type
|
|
LoadPictureConstants =TOleEnum;
|
|
Const
|
|
Default = $0000000000000000;
|
|
Monochrome = $0000000000000001;
|
|
VgaColor = $0000000000000002;
|
|
Color = $0000000000000004;
|
|
|
|
//Forward declarations
|
|
Type
|
|
// for activex aliases see mantis 25907
|
|
IEnumVARIANT = ActiveX.IEnumVariant;
|
|
IFont = ActiveX.IFont;
|
|
Font = dispinterface;
|
|
IPicture = ActiveX.IPicture;
|
|
Picture = dispinterface;
|
|
FontEvents = dispinterface;
|
|
|
|
//records, unions, aliases
|
|
EXCEPINFO = packed record
|
|
wCode : Word;
|
|
wReserved : Word;
|
|
bstrSource : WideString;
|
|
bstrDescription : WideString;
|
|
bstrHelpFile : WideString;
|
|
dwHelpContext : LongWord;
|
|
pvReserved : Ppointer;
|
|
pfnDeferredFillIn : Ppointer;
|
|
scode : SCODE;
|
|
end;
|
|
OLE_COLOR = LongWord;
|
|
OLE_XPOS_PIXELS = Integer;
|
|
OLE_YPOS_PIXELS = Integer;
|
|
OLE_XSIZE_PIXELS = Integer;
|
|
OLE_YSIZE_PIXELS = Integer;
|
|
OLE_XPOS_HIMETRIC = Integer;
|
|
OLE_YPOS_HIMETRIC = Integer;
|
|
OLE_XSIZE_HIMETRIC = Integer;
|
|
OLE_YSIZE_HIMETRIC = Integer;
|
|
OLE_XPOS_CONTAINER = Single;
|
|
OLE_YPOS_CONTAINER = Single;
|
|
OLE_XSIZE_CONTAINER = Single;
|
|
OLE_YSIZE_CONTAINER = Single;
|
|
OLE_HANDLE = SYSINT;
|
|
OLE_OPTEXCLUSIVE = WordBool;
|
|
OLE_CANCELBOOL = WordBool;
|
|
OLE_ENABLEDEFAULTBOOL = WordBool;
|
|
FONTNAME = WideString;
|
|
FONTSIZE = Currency;
|
|
FONTBOLD = WordBool;
|
|
FONTITALIC = WordBool;
|
|
FONTUNDERSCORE = WordBool;
|
|
FONTSTRIKETHROUGH = WordBool;
|
|
IFontDisp = Font;
|
|
IPictureDisp = Picture;
|
|
IFontEventsDisp = FontEvents;
|
|
|
|
//interface declarations
|
|
|
|
// Font :
|
|
|
|
Font = dispinterface
|
|
['{BEF6E003-A874-101A-8BBA-00AA00300CAB}']
|
|
// Name :
|
|
property Name:WideString dispid 0;
|
|
// Size :
|
|
property Size:Currency dispid 2;
|
|
// Bold :
|
|
property Bold:WordBool dispid 3;
|
|
// Italic :
|
|
property Italic:WordBool dispid 4;
|
|
// Underline :
|
|
property Underline:WordBool dispid 5;
|
|
// Strikethrough :
|
|
property Strikethrough:WordBool dispid 6;
|
|
// Weight :
|
|
property Weight:Smallint dispid 7;
|
|
// Charset :
|
|
property Charset:Smallint dispid 8;
|
|
end;
|
|
|
|
// Picture :
|
|
|
|
Picture = dispinterface
|
|
['{7BF80981-BF32-101A-8BBB-00AA00300CAB}']
|
|
// Render :
|
|
procedure Render(hdc:SYSINT;x:Integer;y:Integer;cx:Integer;cy:Integer;xSrc:OLE_XPOS_HIMETRIC;ySrc:OLE_YPOS_HIMETRIC;cxSrc:OLE_XSIZE_HIMETRIC;cySrc:OLE_YSIZE_HIMETRIC;prcWBounds:{!! pointer !!} OleVariant);dispid 6;
|
|
// Handle :
|
|
property Handle:OLE_HANDLE dispid 0;
|
|
// hPal :
|
|
property hPal:OLE_HANDLE dispid 2;
|
|
// Type :
|
|
property Type_:Smallint dispid 3;
|
|
// Width :
|
|
property Width:OLE_XSIZE_HIMETRIC dispid 4;
|
|
// Height :
|
|
property Height:OLE_YSIZE_HIMETRIC dispid 5;
|
|
end;
|
|
|
|
// FontEvents : Event interface for the Font object
|
|
|
|
FontEvents = dispinterface
|
|
['{4EF6100A-AF88-11D0-9846-00C04FC29993}']
|
|
// FontChanged :
|
|
procedure FontChanged(PropertyName:WideString);dispid 9;
|
|
end;
|
|
|
|
//CoClasses
|
|
CoStdFont =class
|
|
class function Create: Font;
|
|
class function CreateRemote(const MachineName: string): Font;
|
|
end;
|
|
CoStdPicture =class
|
|
class function Create: Picture;
|
|
class function CreateRemote(const MachineName: string): Picture;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses comobj;
|
|
|
|
class function CoStdFont.Create: Font;
|
|
begin
|
|
Result := CreateComObject(CLASS_StdFont) as Font;
|
|
end;
|
|
|
|
class function CoStdFont.CreateRemote(const MachineName: string): Font;
|
|
begin
|
|
Result := CreateRemoteComObject(MachineName,CLASS_StdFont) as Font;
|
|
end;
|
|
|
|
class function CoStdPicture.Create: Picture;
|
|
begin
|
|
Result := CreateComObject(CLASS_StdPicture) as Picture;
|
|
end;
|
|
|
|
class function CoStdPicture.CreateRemote(const MachineName: string): Picture;
|
|
begin
|
|
Result := CreateRemoteComObject(MachineName,CLASS_StdPicture) as Picture;
|
|
end;
|
|
|
|
|
|
end.
|