mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-26 11:17:57 +08:00
1375 lines
68 KiB
ObjectPascal
1375 lines
68 KiB
ObjectPascal
|
|
{*****************************************************************************}
|
|
{ }
|
|
{ Tnt Delphi Unicode Controls }
|
|
{ http://www.tntware.com/delphicontrols/unicode/ }
|
|
{ Version: 2.3.0 }
|
|
{ }
|
|
{ Copyright (c) 2002-2007, Troy Wolbrink (troy.wolbrink@tntware.com) }
|
|
{ }
|
|
{*****************************************************************************}
|
|
|
|
unit ActiveIMM_TLB;
|
|
|
|
{$INCLUDE compilers.inc}
|
|
|
|
{TNT-IGNORE-UNIT}
|
|
|
|
// ************************************************************************ //
|
|
// WARNING
|
|
// -------
|
|
// The types declared in this file were generated from data read from a
|
|
// Type Library. If this type library is explicitly or indirectly (via
|
|
// another type library referring to this type library) re-imported, or the
|
|
// 'Refresh' command of the Type Library Editor activated while editing the
|
|
// Type Library, the contents of this file will be regenerated and all
|
|
// manual modifications will be lost.
|
|
// ************************************************************************ //
|
|
|
|
// PASTLWTR : $Revision: 1.88.1.0.1.0 $
|
|
// File generated on 04/03/2001 11:32:13 PM from Type Library described below.
|
|
|
|
// *************************************************************************//
|
|
// NOTE:
|
|
// Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties
|
|
// which return objects that may need to be explicitly created via a function
|
|
// call prior to any access via the property. These items have been disabled
|
|
// in order to prevent accidental use from within the object inspector. You
|
|
// may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively
|
|
// removing them from the $IFDEF blocks. However, such items must still be
|
|
// programmatically created via a method of the appropriate CoClass before
|
|
// they can be used.
|
|
// ************************************************************************ //
|
|
// Type Lib: C:\Program Files\Microsoft Platform SDK\Include\dimm.tlb (1)
|
|
// IID\LCID: {4955DD30-B159-11D0-8FCF-00AA006BCC59}\0
|
|
// Helpfile:
|
|
// DepndLst:
|
|
// (1) v2.0 stdole, (C:\WINNT\System32\Stdole2.tlb)
|
|
// (2) v4.0 StdVCL, (C:\WINNT\System32\STDVCL40.DLL)
|
|
// Errors:
|
|
// Hint: Member 'End' of 'IActiveIMMMessagePumpOwner' changed to 'End_'
|
|
// Error creating palette bitmap of (TCActiveIMM) : Server D:\D5Addons\Dimm\dimm.dll contains no icons
|
|
// ************************************************************************ //
|
|
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
|
|
interface
|
|
|
|
uses
|
|
Windows, ActiveX, Classes, OleServer;
|
|
|
|
// *********************************************************************//
|
|
// GUIDS declared in the TypeLibrary. Following prefixes are used:
|
|
// Type Libraries : LIBID_xxxx
|
|
// CoClasses : CLASS_xxxx
|
|
// DISPInterfaces : DIID_xxxx
|
|
// Non-DISP interfaces: IID_xxxx
|
|
// *********************************************************************//
|
|
const
|
|
// TypeLibrary Major and minor versions
|
|
ActiveIMMMajorVersion = 0;
|
|
ActiveIMMMinorVersion = 1;
|
|
|
|
LIBID_ActiveIMM: TGUID = '{4955DD30-B159-11D0-8FCF-00AA006BCC59}';
|
|
|
|
IID_IEnumRegisterWordA: TGUID = '{08C03412-F96B-11D0-A475-00AA006BCC59}';
|
|
IID_IEnumRegisterWordW: TGUID = '{4955DD31-B159-11D0-8FCF-00AA006BCC59}';
|
|
IID_IEnumInputContext: TGUID = '{09B5EAB0-F997-11D1-93D4-0060B067B86E}';
|
|
IID_IActiveIMMRegistrar: TGUID = '{B3458082-BD00-11D1-939B-0060B067B86E}';
|
|
IID_IActiveIMMMessagePumpOwner: TGUID = '{B5CF2CFA-8AEB-11D1-9364-0060B067B86E}';
|
|
IID_IActiveIMMApp: TGUID = '{08C0E040-62D1-11D1-9326-0060B067B86E}';
|
|
IID_IActiveIMMIME: TGUID = '{08C03411-F96B-11D0-A475-00AA006BCC59}';
|
|
IID_IActiveIME: TGUID = '{6FE20962-D077-11D0-8FE7-00AA006BCC59}';
|
|
IID_IActiveIME2: TGUID = '{E1C4BF0E-2D53-11D2-93E1-0060B067B86E}';
|
|
CLASS_CActiveIMM: TGUID = '{4955DD33-B159-11D0-8FCF-00AA006BCC59}';
|
|
type
|
|
|
|
// *********************************************************************//
|
|
// Forward declaration of types defined in TypeLibrary
|
|
// *********************************************************************//
|
|
IEnumRegisterWordA = interface;
|
|
IEnumRegisterWordW = interface;
|
|
IEnumInputContext = interface;
|
|
IActiveIMMRegistrar = interface;
|
|
IActiveIMMMessagePumpOwner = interface;
|
|
IActiveIMMApp = interface;
|
|
IActiveIMMIME = interface;
|
|
IActiveIME = interface;
|
|
IActiveIME2 = interface;
|
|
|
|
// *********************************************************************//
|
|
// Declaration of CoClasses defined in Type Library
|
|
// (NOTE: Here we map each CoClass to its Default Interface)
|
|
// *********************************************************************//
|
|
CActiveIMM = IActiveIMMApp;
|
|
|
|
|
|
// *********************************************************************//
|
|
// Declaration of structures, unions and aliases.
|
|
// *********************************************************************//
|
|
wireHBITMAP = ^_userHBITMAP;
|
|
wireHWND = ^_RemotableHandle;
|
|
PUserType1 = ^TGUID; {*}
|
|
PUserType2 = ^tagMSG; {*}
|
|
PUserType3 = ^REGISTERWORDA; {*}
|
|
PUserType4 = ^REGISTERWORDW; {*}
|
|
PUserType5 = ^CANDIDATEFORM; {*}
|
|
PUserType6 = ^LOGFONTA; {*}
|
|
PUserType7 = ^LOGFONTW; {*}
|
|
PUserType8 = ^COMPOSITIONFORM; {*}
|
|
PUserType9 = ^tagPOINT; {*}
|
|
PWord1 = ^Word; {*}
|
|
PUserType10 = ^IMEMENUITEMINFOA; {*}
|
|
PUserType11 = ^IMEMENUITEMINFOW; {*}
|
|
PUserType12 = ^INPUTCONTEXT; {*}
|
|
PByte1 = ^Byte; {*}
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0001 = packed record
|
|
lpReading: PAnsiChar;
|
|
lpWord: PAnsiChar;
|
|
end;
|
|
|
|
REGISTERWORDA = __MIDL___MIDL_itf_dimm_0000_0001;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0002 = packed record
|
|
lpReading: PWideChar;
|
|
lpWord: PWideChar;
|
|
end;
|
|
|
|
REGISTERWORDW = __MIDL___MIDL_itf_dimm_0000_0002;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0003 = packed record
|
|
lfHeight: Integer;
|
|
lfWidth: Integer;
|
|
lfEscapement: Integer;
|
|
lfOrientation: Integer;
|
|
lfWeight: Integer;
|
|
lfItalic: Byte;
|
|
lfUnderline: Byte;
|
|
lfStrikeOut: Byte;
|
|
lfCharSet: Byte;
|
|
lfOutPrecision: Byte;
|
|
lfClipPrecision: Byte;
|
|
lfQuality: Byte;
|
|
lfPitchAndFamily: Byte;
|
|
lfFaceName: array[0..31] of Shortint;
|
|
end;
|
|
|
|
LOGFONTA = __MIDL___MIDL_itf_dimm_0000_0003;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0004 = packed record
|
|
lfHeight: Integer;
|
|
lfWidth: Integer;
|
|
lfEscapement: Integer;
|
|
lfOrientation: Integer;
|
|
lfWeight: Integer;
|
|
lfItalic: Byte;
|
|
lfUnderline: Byte;
|
|
lfStrikeOut: Byte;
|
|
lfCharSet: Byte;
|
|
lfOutPrecision: Byte;
|
|
lfClipPrecision: Byte;
|
|
lfQuality: Byte;
|
|
lfPitchAndFamily: Byte;
|
|
lfFaceName: array[0..31] of Word;
|
|
end;
|
|
|
|
LOGFONTW = __MIDL___MIDL_itf_dimm_0000_0004;
|
|
|
|
tagPOINT = packed record
|
|
x: Integer;
|
|
y: Integer;
|
|
end;
|
|
|
|
tagRECT = packed record
|
|
left: Integer;
|
|
top: Integer;
|
|
right: Integer;
|
|
bottom: Integer;
|
|
end;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0005 = packed record
|
|
dwIndex: LongWord;
|
|
dwStyle: LongWord;
|
|
ptCurrentPos: tagPOINT;
|
|
rcArea: tagRECT;
|
|
end;
|
|
|
|
CANDIDATEFORM = __MIDL___MIDL_itf_dimm_0000_0005;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0006 = packed record
|
|
dwStyle: LongWord;
|
|
ptCurrentPos: tagPOINT;
|
|
rcArea: tagRECT;
|
|
end;
|
|
|
|
COMPOSITIONFORM = __MIDL___MIDL_itf_dimm_0000_0006;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0007 = packed record
|
|
dwSize: LongWord;
|
|
dwStyle: LongWord;
|
|
dwCount: LongWord;
|
|
dwSelection: LongWord;
|
|
dwPageStart: LongWord;
|
|
dwPageSize: LongWord;
|
|
dwOffset: array[0..0] of LongWord;
|
|
end;
|
|
|
|
CANDIDATELIST = __MIDL___MIDL_itf_dimm_0000_0007;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0008 = packed record
|
|
dwStyle: LongWord;
|
|
szDescription: array[0..31] of Shortint;
|
|
end;
|
|
|
|
STYLEBUFA = __MIDL___MIDL_itf_dimm_0000_0008;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0009 = packed record
|
|
dwStyle: LongWord;
|
|
szDescription: array[0..31] of Word;
|
|
end;
|
|
|
|
STYLEBUFW = __MIDL___MIDL_itf_dimm_0000_0009;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0010 = packed record
|
|
cbSize: SYSUINT;
|
|
fType: SYSUINT;
|
|
fState: SYSUINT;
|
|
wID: SYSUINT;
|
|
hbmpChecked: wireHBITMAP;
|
|
hbmpUnchecked: wireHBITMAP;
|
|
dwItemData: LongWord;
|
|
szString: array[0..79] of Shortint;
|
|
hbmpItem: wireHBITMAP;
|
|
end;
|
|
|
|
IMEMENUITEMINFOA = __MIDL___MIDL_itf_dimm_0000_0010;
|
|
|
|
_userBITMAP = packed record
|
|
bmType: Integer;
|
|
bmWidth: Integer;
|
|
bmHeight: Integer;
|
|
bmWidthBytes: Integer;
|
|
bmPlanes: Word;
|
|
bmBitsPixel: Word;
|
|
cbSize: LongWord;
|
|
pBuffer: ^Byte;
|
|
end;
|
|
|
|
__MIDL_IWinTypes_0007 = record
|
|
case Integer of
|
|
0: (hInproc: Integer);
|
|
1: (hRemote: ^_userBITMAP);
|
|
end;
|
|
|
|
_userHBITMAP = packed record
|
|
fContext: Integer;
|
|
u: __MIDL_IWinTypes_0007;
|
|
end;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0011 = packed record
|
|
cbSize: SYSUINT;
|
|
fType: SYSUINT;
|
|
fState: SYSUINT;
|
|
wID: SYSUINT;
|
|
hbmpChecked: wireHBITMAP;
|
|
hbmpUnchecked: wireHBITMAP;
|
|
dwItemData: LongWord;
|
|
szString: array[0..79] of Word;
|
|
hbmpItem: wireHBITMAP;
|
|
end;
|
|
|
|
IMEMENUITEMINFOW = __MIDL___MIDL_itf_dimm_0000_0011;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0013 = record
|
|
case Integer of
|
|
0: (A: LOGFONTA);
|
|
1: (W: LOGFONTW);
|
|
end;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0012 = packed record
|
|
hWnd: wireHWND;
|
|
fOpen: Integer;
|
|
ptStatusWndPos: tagPOINT;
|
|
ptSoftKbdPos: tagPOINT;
|
|
fdwConversion: LongWord;
|
|
fdwSentence: LongWord;
|
|
lfFont: __MIDL___MIDL_itf_dimm_0000_0013;
|
|
cfCompForm: COMPOSITIONFORM;
|
|
cfCandForm: array[0..3] of CANDIDATEFORM;
|
|
hCompStr: LongWord;
|
|
hCandInfo: LongWord;
|
|
hGuideLine: LongWord;
|
|
hPrivate: LongWord;
|
|
dwNumMsgBuf: LongWord;
|
|
hMsgBuf: LongWord;
|
|
fdwInit: LongWord;
|
|
dwReserve: array[0..2] of LongWord;
|
|
end;
|
|
|
|
__MIDL_IWinTypes_0009 = record
|
|
case Integer of
|
|
0: (hInproc: Integer);
|
|
1: (hRemote: Integer);
|
|
end;
|
|
|
|
_RemotableHandle = packed record
|
|
fContext: Integer;
|
|
u: __MIDL_IWinTypes_0009;
|
|
end;
|
|
|
|
INPUTCONTEXT = __MIDL___MIDL_itf_dimm_0000_0012;
|
|
|
|
__MIDL___MIDL_itf_dimm_0000_0014 = packed record
|
|
dwPrivateDataSize: LongWord;
|
|
fdwProperty: LongWord;
|
|
fdwConversionCaps: LongWord;
|
|
fdwSentenceCaps: LongWord;
|
|
fdwUICaps: LongWord;
|
|
fdwSCSCaps: LongWord;
|
|
fdwSelectCaps: LongWord;
|
|
end;
|
|
|
|
IMEINFO = __MIDL___MIDL_itf_dimm_0000_0014;
|
|
UINT_PTR = LongWord;
|
|
LONG_PTR = Integer;
|
|
|
|
tagMSG = packed record
|
|
hWnd: wireHWND;
|
|
message: SYSUINT;
|
|
wParam: UINT_PTR;
|
|
lParam: LONG_PTR;
|
|
time: LongWord;
|
|
pt: tagPOINT;
|
|
end;
|
|
|
|
|
|
// *********************************************************************//
|
|
// Interface: IEnumRegisterWordA
|
|
// Flags: (0)
|
|
// GUID: {08C03412-F96B-11D0-A475-00AA006BCC59}
|
|
// *********************************************************************//
|
|
IEnumRegisterWordA = interface(IUnknown)
|
|
['{08C03412-F96B-11D0-A475-00AA006BCC59}']
|
|
function Clone(out ppEnum: IEnumRegisterWordA): HResult; stdcall;
|
|
function Next(ulCount: LongWord; out rgRegisterWord: REGISTERWORDA; out pcFetched: LongWord): HResult; stdcall;
|
|
function Reset: HResult; stdcall;
|
|
function Skip(ulCount: LongWord): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IEnumRegisterWordW
|
|
// Flags: (0)
|
|
// GUID: {4955DD31-B159-11D0-8FCF-00AA006BCC59}
|
|
// *********************************************************************//
|
|
IEnumRegisterWordW = interface(IUnknown)
|
|
['{4955DD31-B159-11D0-8FCF-00AA006BCC59}']
|
|
function Clone(out ppEnum: IEnumRegisterWordW): HResult; stdcall;
|
|
function Next(ulCount: LongWord; out rgRegisterWord: REGISTERWORDW; out pcFetched: LongWord): HResult; stdcall;
|
|
function Reset: HResult; stdcall;
|
|
function Skip(ulCount: LongWord): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IEnumInputContext
|
|
// Flags: (0)
|
|
// GUID: {09B5EAB0-F997-11D1-93D4-0060B067B86E}
|
|
// *********************************************************************//
|
|
IEnumInputContext = interface(IUnknown)
|
|
['{09B5EAB0-F997-11D1-93D4-0060B067B86E}']
|
|
function Clone(out ppEnum: IEnumInputContext): HResult; stdcall;
|
|
function Next(ulCount: LongWord; out rgInputContext: LongWord; out pcFetched: LongWord): HResult; stdcall;
|
|
function Reset: HResult; stdcall;
|
|
function Skip(ulCount: LongWord): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IActiveIMMRegistrar
|
|
// Flags: (0)
|
|
// GUID: {B3458082-BD00-11D1-939B-0060B067B86E}
|
|
// *********************************************************************//
|
|
IActiveIMMRegistrar = interface(IUnknown)
|
|
['{B3458082-BD00-11D1-939B-0060B067B86E}']
|
|
function RegisterIME(var rclsid: TGUID; lgid: Word; pszIconFile: PWideChar; pszDesc: PWideChar): HResult; stdcall;
|
|
function UnregisterIME(var rclsid: TGUID): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IActiveIMMMessagePumpOwner
|
|
// Flags: (0)
|
|
// GUID: {B5CF2CFA-8AEB-11D1-9364-0060B067B86E}
|
|
// *********************************************************************//
|
|
IActiveIMMMessagePumpOwner = interface(IUnknown)
|
|
['{B5CF2CFA-8AEB-11D1-9364-0060B067B86E}']
|
|
function Start: HResult; stdcall;
|
|
function End_: HResult; stdcall;
|
|
function OnTranslateMessage(var pMsg: tagMSG): HResult; stdcall;
|
|
function Pause(out pdwCookie: LongWord): HResult; stdcall;
|
|
function Resume(dwCookie: LongWord): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IActiveIMMApp
|
|
// Flags: (0)
|
|
// GUID: {08C0E040-62D1-11D1-9326-0060B067B86E}
|
|
// *********************************************************************//
|
|
IActiveIMMApp = interface(IUnknown)
|
|
['{08C0E040-62D1-11D1-9326-0060B067B86E}']
|
|
function AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord; out phPrev: LongWord): HResult; stdcall;
|
|
function ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDA): HResult; stdcall;
|
|
function ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDW): HResult; stdcall;
|
|
function CreateContext(out phIMC: LongWord): HResult; stdcall;
|
|
function DestroyContext(hIME: LongWord): HResult; stdcall;
|
|
function EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szRegister: PAnsiChar; var pData: Pointer; out pEnum: IEnumRegisterWordA): HResult; stdcall;
|
|
function EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar; var pData: Pointer;
|
|
out pEnum: IEnumRegisterWordW): HResult; stdcall;
|
|
function EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
|
|
out plResult: LONG_PTR): HResult; stdcall;
|
|
function EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
|
|
out plResult: LONG_PTR): HResult; stdcall;
|
|
function GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult; stdcall;
|
|
function GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult; stdcall;
|
|
function GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord; out pCandidate: CANDIDATEFORM): HResult; stdcall;
|
|
function GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult; stdcall;
|
|
function GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult; stdcall;
|
|
function GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
|
|
function GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
|
|
function GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult; stdcall;
|
|
function GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult; stdcall;
|
|
function GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar; uBufLen: SYSUINT;
|
|
uFlag: SYSUINT; out pDst: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
|
|
uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
|
|
out pfdwSentence: LongWord): HResult; stdcall;
|
|
function GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult; stdcall;
|
|
function GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PAnsiChar;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PWideChar;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetOpenStatus(hIMC: LongWord): HResult; stdcall;
|
|
function GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult; stdcall;
|
|
function GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFA;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFW;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult; stdcall;
|
|
function GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult; stdcall;
|
|
function InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult; stdcall;
|
|
function InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar; out phKL: Pointer): HResult; stdcall;
|
|
function IsIME(var hKL: Pointer): HResult; stdcall;
|
|
function IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult; stdcall;
|
|
function IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult; stdcall;
|
|
function NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult; stdcall;
|
|
function REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; szRegister: PAnsiChar): HResult; stdcall;
|
|
function REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar): HResult; stdcall;
|
|
function ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult; stdcall;
|
|
function SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult; stdcall;
|
|
function SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult; stdcall;
|
|
function SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult; stdcall;
|
|
function SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
|
|
function SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
|
|
function SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult; stdcall;
|
|
function SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord; fdwSentence: LongWord): HResult; stdcall;
|
|
function SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult; stdcall;
|
|
function SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult; stdcall;
|
|
function SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult; stdcall;
|
|
function UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szUnregister: PAnsiChar): HResult; stdcall;
|
|
function UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szUnregister: PWideChar): HResult; stdcall;
|
|
function Activate(fRestoreLayout: Integer): HResult; stdcall;
|
|
function Deactivate: HResult; stdcall;
|
|
function OnDefWindowProc(var hWnd: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR; out plResult: LONG_PTR): HResult; stdcall;
|
|
function FilterClientWindows(var aaClassList: Word; uSize: SYSUINT): HResult; stdcall;
|
|
function GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult; stdcall;
|
|
function GetLangId(var hKL: Pointer; out plid: Word): HResult; stdcall;
|
|
function AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord; dwFlags: LongWord): HResult; stdcall;
|
|
function DisableIME(idThread: LongWord): HResult; stdcall;
|
|
function GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOA;
|
|
out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOW;
|
|
out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IActiveIMMIME
|
|
// Flags: (0)
|
|
// GUID: {08C03411-F96B-11D0-A475-00AA006BCC59}
|
|
// *********************************************************************//
|
|
IActiveIMMIME = interface(IUnknown)
|
|
['{08C03411-F96B-11D0-A475-00AA006BCC59}']
|
|
function AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord; out phPrev: LongWord): HResult; stdcall;
|
|
function ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDA): HResult; stdcall;
|
|
function ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDW): HResult; stdcall;
|
|
function CreateContext(out phIMC: LongWord): HResult; stdcall;
|
|
function DestroyContext(hIME: LongWord): HResult; stdcall;
|
|
function EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szRegister: PAnsiChar; var pData: Pointer; out pEnum: IEnumRegisterWordA): HResult; stdcall;
|
|
function EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar; var pData: Pointer;
|
|
out pEnum: IEnumRegisterWordW): HResult; stdcall;
|
|
function EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
|
|
out plResult: LONG_PTR): HResult; stdcall;
|
|
function EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
|
|
out plResult: LONG_PTR): HResult; stdcall;
|
|
function GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult; stdcall;
|
|
function GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult; stdcall;
|
|
function GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord; out pCandidate: CANDIDATEFORM): HResult; stdcall;
|
|
function GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult; stdcall;
|
|
function GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult; stdcall;
|
|
function GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
|
|
function GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
|
|
function GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult; stdcall;
|
|
function GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult; stdcall;
|
|
function GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar; uBufLen: SYSUINT;
|
|
uFlag: SYSUINT; out pDst: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
|
|
uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
|
|
out pfdwSentence: LongWord): HResult; stdcall;
|
|
function GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult; stdcall;
|
|
function GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PAnsiChar;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PWideChar;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetOpenStatus(hIMC: LongWord): HResult; stdcall;
|
|
function GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult; stdcall;
|
|
function GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFA;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFW;
|
|
out puCopied: SYSUINT): HResult; stdcall;
|
|
function GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult; stdcall;
|
|
function GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult; stdcall;
|
|
function InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult; stdcall;
|
|
function InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar; out phKL: Pointer): HResult; stdcall;
|
|
function IsIME(var hKL: Pointer): HResult; stdcall;
|
|
function IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult; stdcall;
|
|
function IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult; stdcall;
|
|
function NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult; stdcall;
|
|
function REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; szRegister: PAnsiChar): HResult; stdcall;
|
|
function REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar): HResult; stdcall;
|
|
function ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult; stdcall;
|
|
function SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult; stdcall;
|
|
function SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult; stdcall;
|
|
function SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult; stdcall;
|
|
function SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
|
|
function SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
|
|
function SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult; stdcall;
|
|
function SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord; fdwSentence: LongWord): HResult; stdcall;
|
|
function SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult; stdcall;
|
|
function SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult; stdcall;
|
|
function SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult; stdcall;
|
|
function UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szUnregister: PAnsiChar): HResult; stdcall;
|
|
function UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szUnregister: PWideChar): HResult; stdcall;
|
|
function GenerateMessage(hIMC: LongWord): HResult; stdcall;
|
|
function LockIMC(hIMC: LongWord; out ppIMC: PUserType12): HResult; stdcall;
|
|
function UnlockIMC(hIMC: LongWord): HResult; stdcall;
|
|
function GetIMCLockCount(hIMC: LongWord; out pdwLockCount: LongWord): HResult; stdcall;
|
|
function CreateIMCC(dwSize: LongWord; out phIMCC: LongWord): HResult; stdcall;
|
|
function DestroyIMCC(hIMCC: LongWord): HResult; stdcall;
|
|
function LockIMCC(hIMCC: LongWord; out ppv: Pointer): HResult; stdcall;
|
|
function UnlockIMCC(hIMCC: LongWord): HResult; stdcall;
|
|
function ReSizeIMCC(hIMCC: LongWord; dwSize: LongWord; out phIMCC: LongWord): HResult; stdcall;
|
|
function GetIMCCSize(hIMCC: LongWord; out pdwSize: LongWord): HResult; stdcall;
|
|
function GetIMCCLockCount(hIMCC: LongWord; out pdwLockCount: LongWord): HResult; stdcall;
|
|
function GetHotKey(dwHotKeyID: LongWord; out puModifiers: SYSUINT; out puVKey: SYSUINT;
|
|
out phKL: Pointer): HResult; stdcall;
|
|
function SetHotKey(dwHotKeyID: LongWord; uModifiers: SYSUINT; uVKey: SYSUINT; var hKL: Pointer): HResult; stdcall;
|
|
function CreateSoftKeyboard(uType: SYSUINT; var hOwner: _RemotableHandle; x: SYSINT;
|
|
y: SYSINT; out phSoftKbdWnd: wireHWND): HResult; stdcall;
|
|
function DestroySoftKeyboard(var hSoftKbdWnd: _RemotableHandle): HResult; stdcall;
|
|
function ShowSoftKeyboard(var hSoftKbdWnd: _RemotableHandle; nCmdShow: SYSINT): HResult; stdcall;
|
|
function GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult; stdcall;
|
|
function GetLangId(var hKL: Pointer; out plid: Word): HResult; stdcall;
|
|
function KeybdEvent(lgidIME: Word; bVk: Byte; bScan: Byte; dwFlags: LongWord;
|
|
dwExtraInfo: LongWord): HResult; stdcall;
|
|
function LockModal: HResult; stdcall;
|
|
function UnlockModal: HResult; stdcall;
|
|
function AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord; dwFlags: LongWord): HResult; stdcall;
|
|
function DisableIME(idThread: LongWord): HResult; stdcall;
|
|
function GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOA;
|
|
out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOW;
|
|
out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult; stdcall;
|
|
function EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult; stdcall;
|
|
function RequestMessageA(hIMC: LongWord; wParam: UINT_PTR; lParam: LONG_PTR;
|
|
out plResult: LONG_PTR): HResult; stdcall;
|
|
function RequestMessageW(hIMC: LongWord; wParam: UINT_PTR; lParam: LONG_PTR;
|
|
out plResult: LONG_PTR): HResult; stdcall;
|
|
function SendIMCA(var hWnd: _RemotableHandle; uMsg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR; out plResult: LONG_PTR): HResult; stdcall;
|
|
function SendIMCW(var hWnd: _RemotableHandle; uMsg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR; out plResult: LONG_PTR): HResult; stdcall;
|
|
function IsSleeping: HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IActiveIME
|
|
// Flags: (0)
|
|
// GUID: {6FE20962-D077-11D0-8FE7-00AA006BCC59}
|
|
// *********************************************************************//
|
|
IActiveIME = interface(IUnknown)
|
|
['{6FE20962-D077-11D0-8FE7-00AA006BCC59}']
|
|
function Inquire(dwSystemInfoFlags: LongWord; out pIMEInfo: IMEINFO; szWndClass: PWideChar;
|
|
out pdwPrivate: LongWord): HResult; stdcall;
|
|
function ConversionList(hIMC: LongWord; szSource: PWideChar; uFlag: SYSUINT; uBufLen: SYSUINT;
|
|
out pDest: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
|
|
function Configure(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pRegisterWord: REGISTERWORDW): HResult; stdcall;
|
|
function Destroy(uReserved: SYSUINT): HResult; stdcall;
|
|
function Escape(hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer; out plResult: LONG_PTR): HResult; stdcall;
|
|
function SetActiveContext(hIMC: LongWord; fFlag: Integer): HResult; stdcall;
|
|
function ProcessKey(hIMC: LongWord; uVirKey: SYSUINT; lParam: LongWord; var pbKeyState: Byte): HResult; stdcall;
|
|
function Notify(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult; stdcall;
|
|
function Select(hIMC: LongWord; fSelect: Integer): HResult; stdcall;
|
|
function SetCompositionString(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
|
|
function ToAsciiEx(uVirKey: SYSUINT; uScanCode: SYSUINT; var pbKeyState: Byte;
|
|
fuState: SYSUINT; hIMC: LongWord; out pdwTransBuf: LongWord;
|
|
out puSize: SYSUINT): HResult; stdcall;
|
|
function RegisterWord(szReading: PWideChar; dwStyle: LongWord; szString: PWideChar): HResult; stdcall;
|
|
function UnregisterWord(szReading: PWideChar; dwStyle: LongWord; szString: PWideChar): HResult; stdcall;
|
|
function GetRegisterWordStyle(nItem: SYSUINT; out pStyleBuf: STYLEBUFW; out puBufSize: SYSUINT): HResult; stdcall;
|
|
function EnumRegisterWord(szReading: PWideChar; dwStyle: LongWord; szRegister: PWideChar;
|
|
var pData: Pointer; out ppEnum: IEnumRegisterWordW): HResult; stdcall;
|
|
function GetCodePageA(out uCodePage: SYSUINT): HResult; stdcall;
|
|
function GetLangId(out plid: Word): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// Interface: IActiveIME2
|
|
// Flags: (0)
|
|
// GUID: {E1C4BF0E-2D53-11D2-93E1-0060B067B86E}
|
|
// *********************************************************************//
|
|
IActiveIME2 = interface(IActiveIME)
|
|
['{E1C4BF0E-2D53-11D2-93E1-0060B067B86E}']
|
|
function Sleep: HResult; stdcall;
|
|
function Unsleep(fDead: Integer): HResult; stdcall;
|
|
end;
|
|
|
|
// *********************************************************************//
|
|
// The Class CoCActiveIMM provides a Create and CreateRemote method to
|
|
// create instances of the default interface IActiveIMMApp exposed by
|
|
// the CoClass CActiveIMM. The functions are intended to be used by
|
|
// clients wishing to automate the CoClass objects exposed by the
|
|
// server of this typelibrary.
|
|
// *********************************************************************//
|
|
CoCActiveIMM = class
|
|
class function Create: IActiveIMMApp;
|
|
class function CreateRemote(const MachineName: AnsiString): IActiveIMMApp;
|
|
end;
|
|
|
|
|
|
// *********************************************************************//
|
|
// OLE Server Proxy class declaration
|
|
// Server Object : TCActiveIMM
|
|
// Help String :
|
|
// Default Interface: IActiveIMMApp
|
|
// Def. Intf. DISP? : No
|
|
// Event Interface:
|
|
// TypeFlags : (2) CanCreate
|
|
// *********************************************************************//
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
TCActiveIMMProperties= class;
|
|
{$ENDIF}
|
|
TCActiveIMM = class(TOleServer)
|
|
private
|
|
FIntf: IActiveIMMApp;
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
FProps: TCActiveIMMProperties;
|
|
function GetServerProperties: TCActiveIMMProperties;
|
|
{$ENDIF}
|
|
function GetDefaultInterface: IActiveIMMApp;
|
|
protected
|
|
procedure InitServerData; override;
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
procedure Connect; override;
|
|
procedure ConnectTo(svrIntf: IActiveIMMApp);
|
|
procedure Disconnect; override;
|
|
function AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord; out phPrev: LongWord): HResult;
|
|
function ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDA): HResult;
|
|
function ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDW): HResult;
|
|
function CreateContext(out phIMC: LongWord): HResult;
|
|
function DestroyContext(hIME: LongWord): HResult;
|
|
function EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szRegister: PAnsiChar; var pData: Pointer; out pEnum: IEnumRegisterWordA): HResult;
|
|
function EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar; var pData: Pointer;
|
|
out pEnum: IEnumRegisterWordW): HResult;
|
|
function EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
|
|
out plResult: LONG_PTR): HResult;
|
|
function EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
|
|
out plResult: LONG_PTR): HResult;
|
|
function GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
|
|
function GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
|
|
function GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult;
|
|
function GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult;
|
|
function GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord; out pCandidate: CANDIDATEFORM): HResult;
|
|
function GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult;
|
|
function GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult;
|
|
function GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult;
|
|
function GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult;
|
|
function GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult;
|
|
function GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult;
|
|
function GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar; uBufLen: SYSUINT;
|
|
uFlag: SYSUINT; out pDst: CANDIDATELIST; out puCopied: SYSUINT): HResult;
|
|
function GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
|
|
uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
|
|
out puCopied: SYSUINT): HResult;
|
|
function GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
|
|
out pfdwSentence: LongWord): HResult;
|
|
function GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult;
|
|
function GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
function GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
function GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PAnsiChar;
|
|
out pdwResult: LongWord): HResult;
|
|
function GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PWideChar;
|
|
out pdwResult: LongWord): HResult;
|
|
function GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
function GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
function GetOpenStatus(hIMC: LongWord): HResult;
|
|
function GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult;
|
|
function GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFA;
|
|
out puCopied: SYSUINT): HResult;
|
|
function GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFW;
|
|
out puCopied: SYSUINT): HResult;
|
|
function GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult;
|
|
function GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult;
|
|
function InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult;
|
|
function InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar; out phKL: Pointer): HResult;
|
|
function IsIME(var hKL: Pointer): HResult;
|
|
function IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult;
|
|
function IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult;
|
|
function NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult;
|
|
function REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; szRegister: PAnsiChar): HResult;
|
|
function REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar): HResult;
|
|
function ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult;
|
|
function SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult;
|
|
function SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult;
|
|
function SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult;
|
|
function SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult;
|
|
function SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult;
|
|
function SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult;
|
|
function SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord; fdwSentence: LongWord): HResult;
|
|
function SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult;
|
|
function SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult;
|
|
function SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult;
|
|
function UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szUnregister: PAnsiChar): HResult;
|
|
function UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szUnregister: PWideChar): HResult;
|
|
function Activate(fRestoreLayout: Integer): HResult;
|
|
function Deactivate: HResult;
|
|
function OnDefWindowProc(var hWnd: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR; out plResult: LONG_PTR): HResult;
|
|
function FilterClientWindows(var aaClassList: Word; uSize: SYSUINT): HResult;
|
|
function GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult;
|
|
function GetLangId(var hKL: Pointer; out plid: Word): HResult;
|
|
function AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord; dwFlags: LongWord): HResult;
|
|
function DisableIME(idThread: LongWord): HResult;
|
|
function GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOA;
|
|
out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult;
|
|
function GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOW;
|
|
out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult;
|
|
function EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult;
|
|
property DefaultInterface: IActiveIMMApp read GetDefaultInterface;
|
|
published
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
property Server: TCActiveIMMProperties read GetServerProperties;
|
|
{$ENDIF}
|
|
end;
|
|
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
// *********************************************************************//
|
|
// OLE Server Properties Proxy Class
|
|
// Server Object : TCActiveIMM
|
|
// (This object is used by the IDE's Property Inspector to allow editing
|
|
// of the properties of this server)
|
|
// *********************************************************************//
|
|
TCActiveIMMProperties = class(TPersistent)
|
|
private
|
|
FServer: TCActiveIMM;
|
|
function GetDefaultInterface: IActiveIMMApp;
|
|
constructor Create(AServer: TCActiveIMM);
|
|
protected
|
|
public
|
|
property DefaultInterface: IActiveIMMApp read GetDefaultInterface;
|
|
published
|
|
end;
|
|
{$ENDIF}
|
|
|
|
implementation
|
|
|
|
uses
|
|
ComObj;
|
|
|
|
class function CoCActiveIMM.Create: IActiveIMMApp;
|
|
begin
|
|
Result := CreateComObject(CLASS_CActiveIMM) as IActiveIMMApp;
|
|
end;
|
|
|
|
class function CoCActiveIMM.CreateRemote(const MachineName: AnsiString): IActiveIMMApp;
|
|
begin
|
|
Result := CreateRemoteComObject(MachineName, CLASS_CActiveIMM) as IActiveIMMApp;
|
|
end;
|
|
|
|
procedure TCActiveIMM.InitServerData;
|
|
const
|
|
CServerData: TServerData = (
|
|
ClassID: '{4955DD33-B159-11D0-8FCF-00AA006BCC59}';
|
|
IntfIID: '{08C0E040-62D1-11D1-9326-0060B067B86E}';
|
|
EventIID: '';
|
|
LicenseKey: nil;
|
|
Version: 500);
|
|
begin
|
|
ServerData := @CServerData;
|
|
end;
|
|
|
|
procedure TCActiveIMM.Connect;
|
|
var
|
|
punk: IUnknown;
|
|
begin
|
|
if FIntf = nil then
|
|
begin
|
|
punk := GetServer;
|
|
Fintf:= punk as IActiveIMMApp;
|
|
end;
|
|
end;
|
|
|
|
procedure TCActiveIMM.ConnectTo(svrIntf: IActiveIMMApp);
|
|
begin
|
|
Disconnect;
|
|
FIntf := svrIntf;
|
|
end;
|
|
|
|
procedure TCActiveIMM.DisConnect;
|
|
begin
|
|
if Fintf <> nil then
|
|
begin
|
|
FIntf := nil;
|
|
end;
|
|
end;
|
|
|
|
function TCActiveIMM.GetDefaultInterface: IActiveIMMApp;
|
|
begin
|
|
if FIntf = nil then
|
|
Connect;
|
|
Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
|
|
Result := FIntf;
|
|
end;
|
|
|
|
constructor TCActiveIMM.Create(AOwner: TComponent);
|
|
begin
|
|
inherited Create(AOwner);
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
FProps := TCActiveIMMProperties.Create(Self);
|
|
{$ENDIF}
|
|
end;
|
|
|
|
destructor TCActiveIMM.Destroy;
|
|
begin
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
FProps.Free;
|
|
{$ENDIF}
|
|
inherited Destroy;
|
|
end;
|
|
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
function TCActiveIMM.GetServerProperties: TCActiveIMMProperties;
|
|
begin
|
|
Result := FProps;
|
|
end;
|
|
{$ENDIF}
|
|
|
|
function TCActiveIMM.AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord;
|
|
out phPrev: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.AssociateContext(hWnd, hIME, phPrev);
|
|
end;
|
|
|
|
function TCActiveIMM.ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDA): HResult;
|
|
begin
|
|
Result := DefaultInterface.ConfigureIMEA(hKL, hWnd, dwMode, pData);
|
|
end;
|
|
|
|
function TCActiveIMM.ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
|
|
var pData: REGISTERWORDW): HResult;
|
|
begin
|
|
Result := DefaultInterface.ConfigureIMEW(hKL, hWnd, dwMode, pData);
|
|
end;
|
|
|
|
function TCActiveIMM.CreateContext(out phIMC: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.CreateContext(phIMC);
|
|
end;
|
|
|
|
function TCActiveIMM.DestroyContext(hIME: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.DestroyContext(hIME);
|
|
end;
|
|
|
|
function TCActiveIMM.EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szRegister: PAnsiChar; var pData: Pointer;
|
|
out pEnum: IEnumRegisterWordA): HResult;
|
|
begin
|
|
Result := DefaultInterface.EnumRegisterWordA(hKL, szReading, dwStyle, szRegister, pData, pEnum);
|
|
end;
|
|
|
|
function TCActiveIMM.EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar; var pData: Pointer;
|
|
out pEnum: IEnumRegisterWordW): HResult;
|
|
begin
|
|
Result := DefaultInterface.EnumRegisterWordW(hKL, szReading, dwStyle, szRegister, pData, pEnum);
|
|
end;
|
|
|
|
function TCActiveIMM.EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT;
|
|
var pData: Pointer; out plResult: LONG_PTR): HResult;
|
|
begin
|
|
Result := DefaultInterface.EscapeA(hKL, hIMC, uEscape, pData, plResult);
|
|
end;
|
|
|
|
function TCActiveIMM.EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT;
|
|
var pData: Pointer; out plResult: LONG_PTR): HResult;
|
|
begin
|
|
Result := DefaultInterface.EscapeW(hKL, hIMC, uEscape, pData, plResult);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCandidateListA(hIMC, dwIndex, uBufLen, pCandList, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
|
|
out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCandidateListW(hIMC, dwIndex, uBufLen, pCandList, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCandidateListCountA(hIMC, pdwListSize, pdwBufLen);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
|
|
out pdwBufLen: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCandidateListCountW(hIMC, pdwListSize, pdwBufLen);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord;
|
|
out pCandidate: CANDIDATEFORM): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCandidateWindow(hIMC, dwIndex, pCandidate);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCompositionFontA(hIMC, plf);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCompositionFontW(hIMC, plf);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCompositionStringA(hIMC, dwIndex, dwBufLen, plCopied, pBuf);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
out plCopied: Integer; out pBuf: Pointer): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCompositionStringW(hIMC, dwIndex, dwBufLen, plCopied, pBuf);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCompositionWindow(hIMC, pCompForm);
|
|
end;
|
|
|
|
function TCActiveIMM.GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetContext(hWnd, phIMC);
|
|
end;
|
|
|
|
function TCActiveIMM.GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar;
|
|
uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
|
|
out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetConversionListA(hKL, hIMC, pSrc, uBufLen, uFlag, pDst, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
|
|
uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
|
|
out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetConversionListW(hKL, hIMC, pSrc, uBufLen, uFlag, pDst, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
|
|
out pfdwSentence: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetConversionStatus(hIMC, pfdwConversion, pfdwSentence);
|
|
end;
|
|
|
|
function TCActiveIMM.GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetDefaultIMEWnd(hWnd, phDefWnd);
|
|
end;
|
|
|
|
function TCActiveIMM.GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetDescriptionA(hKL, uBufLen, szDescription, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetDescriptionW(hKL, uBufLen, szDescription, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
pBuf: PAnsiChar; out pdwResult: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetGuideLineA(hIMC, dwIndex, dwBufLen, pBuf, pdwResult);
|
|
end;
|
|
|
|
function TCActiveIMM.GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
|
|
pBuf: PWideChar; out pdwResult: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetGuideLineW(hIMC, dwIndex, dwBufLen, pBuf, pdwResult);
|
|
end;
|
|
|
|
function TCActiveIMM.GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetIMEFileNameA(hKL, uBufLen, szFileName, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
|
|
out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetIMEFileNameW(hKL, uBufLen, szFileName, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetOpenStatus(hIMC: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetOpenStatus(hIMC);
|
|
end;
|
|
|
|
function TCActiveIMM.GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetProperty(hKL, fdwIndex, pdwProperty);
|
|
end;
|
|
|
|
function TCActiveIMM.GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT;
|
|
out pStyleBuf: STYLEBUFA; out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetRegisterWordStyleA(hKL, nItem, pStyleBuf, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT;
|
|
out pStyleBuf: STYLEBUFW; out puCopied: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetRegisterWordStyleW(hKL, nItem, pStyleBuf, puCopied);
|
|
end;
|
|
|
|
function TCActiveIMM.GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetStatusWindowPos(hIMC, pptPos);
|
|
end;
|
|
|
|
function TCActiveIMM.GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetVirtualKey(hWnd, puVirtualKey);
|
|
end;
|
|
|
|
function TCActiveIMM.InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult;
|
|
begin
|
|
Result := DefaultInterface.InstallIMEA(szIMEFileName, szLayoutText, phKL);
|
|
end;
|
|
|
|
function TCActiveIMM.InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar;
|
|
out phKL: Pointer): HResult;
|
|
begin
|
|
Result := DefaultInterface.InstallIMEW(szIMEFileName, szLayoutText, phKL);
|
|
end;
|
|
|
|
function TCActiveIMM.IsIME(var hKL: Pointer): HResult;
|
|
begin
|
|
Result := DefaultInterface.IsIME(hKL);
|
|
end;
|
|
|
|
function TCActiveIMM.IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult;
|
|
begin
|
|
Result := DefaultInterface.IsUIMessageA(hWndIME, msg, wParam, lParam);
|
|
end;
|
|
|
|
function TCActiveIMM.IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR): HResult;
|
|
begin
|
|
Result := DefaultInterface.IsUIMessageW(hWndIME, msg, wParam, lParam);
|
|
end;
|
|
|
|
function TCActiveIMM.NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord;
|
|
dwValue: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.NotifyIME(hIMC, dwAction, dwIndex, dwValue);
|
|
end;
|
|
|
|
function TCActiveIMM.REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szRegister: PAnsiChar): HResult;
|
|
begin
|
|
Result := DefaultInterface.REGISTERWORDA(hKL, szReading, dwStyle, szRegister);
|
|
end;
|
|
|
|
function TCActiveIMM.REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szRegister: PWideChar): HResult;
|
|
begin
|
|
Result := DefaultInterface.REGISTERWORDW(hKL, szReading, dwStyle, szRegister);
|
|
end;
|
|
|
|
function TCActiveIMM.ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.ReleaseContext(hWnd, hIMC);
|
|
end;
|
|
|
|
function TCActiveIMM.SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetCandidateWindow(hIMC, pCandidate);
|
|
end;
|
|
|
|
function TCActiveIMM.SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetCompositionFontA(hIMC, plf);
|
|
end;
|
|
|
|
function TCActiveIMM.SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetCompositionFontW(hIMC, plf);
|
|
end;
|
|
|
|
function TCActiveIMM.SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer;
|
|
dwReadLen: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetCompositionStringA(hIMC, dwIndex, pComp, dwCompLen, pRead, dwReadLen);
|
|
end;
|
|
|
|
function TCActiveIMM.SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
|
|
dwCompLen: LongWord; var pRead: Pointer;
|
|
dwReadLen: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetCompositionStringW(hIMC, dwIndex, pComp, dwCompLen, pRead, dwReadLen);
|
|
end;
|
|
|
|
function TCActiveIMM.SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetCompositionWindow(hIMC, pCompForm);
|
|
end;
|
|
|
|
function TCActiveIMM.SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord;
|
|
fdwSentence: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetConversionStatus(hIMC, fdwConversion, fdwSentence);
|
|
end;
|
|
|
|
function TCActiveIMM.SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetOpenStatus(hIMC, fOpen);
|
|
end;
|
|
|
|
function TCActiveIMM.SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.SetStatusWindowPos(hIMC, pptPos);
|
|
end;
|
|
|
|
function TCActiveIMM.SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.SimulateHotKey(hWnd, dwHotKeyID);
|
|
end;
|
|
|
|
function TCActiveIMM.UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
|
|
szUnregister: PAnsiChar): HResult;
|
|
begin
|
|
Result := DefaultInterface.UnregisterWordA(hKL, szReading, dwStyle, szUnregister);
|
|
end;
|
|
|
|
function TCActiveIMM.UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
|
|
szUnregister: PWideChar): HResult;
|
|
begin
|
|
Result := DefaultInterface.UnregisterWordW(hKL, szReading, dwStyle, szUnregister);
|
|
end;
|
|
|
|
function TCActiveIMM.Activate(fRestoreLayout: Integer): HResult;
|
|
begin
|
|
Result := DefaultInterface.Activate(fRestoreLayout);
|
|
end;
|
|
|
|
function TCActiveIMM.Deactivate: HResult;
|
|
begin
|
|
Result := DefaultInterface.Deactivate;
|
|
end;
|
|
|
|
function TCActiveIMM.OnDefWindowProc(var hWnd: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
|
|
lParam: LONG_PTR; out plResult: LONG_PTR): HResult;
|
|
begin
|
|
Result := DefaultInterface.OnDefWindowProc(hWnd, msg, wParam, lParam, plResult);
|
|
end;
|
|
|
|
function TCActiveIMM.FilterClientWindows(var aaClassList: Word; uSize: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.FilterClientWindows(aaClassList, uSize);
|
|
end;
|
|
|
|
function TCActiveIMM.GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetCodePageA(hKL, uCodePage);
|
|
end;
|
|
|
|
function TCActiveIMM.GetLangId(var hKL: Pointer; out plid: Word): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetLangId(hKL, plid);
|
|
end;
|
|
|
|
function TCActiveIMM.AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord;
|
|
dwFlags: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.AssociateContextEx(hWnd, hIMC, dwFlags);
|
|
end;
|
|
|
|
function TCActiveIMM.DisableIME(idThread: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.DisableIME(idThread);
|
|
end;
|
|
|
|
function TCActiveIMM.GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOA;
|
|
out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetImeMenuItemsA(hIMC, dwFlags, dwType, pImeParentMenu, pImeMenu,
|
|
dwSize, pdwResult);
|
|
end;
|
|
|
|
function TCActiveIMM.GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
|
|
var pImeParentMenu: IMEMENUITEMINFOW;
|
|
out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
|
|
out pdwResult: LongWord): HResult;
|
|
begin
|
|
Result := DefaultInterface.GetImeMenuItemsW(hIMC, dwFlags, dwType, pImeParentMenu, pImeMenu,
|
|
dwSize, pdwResult);
|
|
end;
|
|
|
|
function TCActiveIMM.EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult;
|
|
begin
|
|
Result := DefaultInterface.EnumInputContext(idThread, ppEnum);
|
|
end;
|
|
|
|
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
|
|
constructor TCActiveIMMProperties.Create(AServer: TCActiveIMM);
|
|
begin
|
|
inherited Create;
|
|
FServer := AServer;
|
|
end;
|
|
|
|
function TCActiveIMMProperties.GetDefaultInterface: IActiveIMMApp;
|
|
begin
|
|
Result := FServer.DefaultInterface;
|
|
end;
|
|
|
|
{$ENDIF}
|
|
|
|
end.
|