source: cprs/branches/tmg-cprs/TMG_Extra/tntUniCode/Source/ActiveIMM_TLB.pas@ 697

Last change on this file since 697 was 672, checked in by Kevin Toppenberg, 15 years ago

Adding source to tntControls for compilation

File size: 68.1 KB
Line 
1
2{*****************************************************************************}
3{ }
4{ Tnt Delphi Unicode Controls }
5{ http://www.tntware.com/delphicontrols/unicode/ }
6{ Version: 2.3.0 }
7{ }
8{ Copyright (c) 2002-2007, Troy Wolbrink (troy.wolbrink@tntware.com) }
9{ }
10{*****************************************************************************}
11
12unit ActiveIMM_TLB;
13
14{$INCLUDE TntCompilers.inc}
15
16{TNT-IGNORE-UNIT}
17
18// ************************************************************************ //
19// WARNING
20// -------
21// The types declared in this file were generated from data read from a
22// Type Library. If this type library is explicitly or indirectly (via
23// another type library referring to this type library) re-imported, or the
24// 'Refresh' command of the Type Library Editor activated while editing the
25// Type Library, the contents of this file will be regenerated and all
26// manual modifications will be lost.
27// ************************************************************************ //
28
29// PASTLWTR : $Revision: 1.88.1.0.1.0 $
30// File generated on 04/03/2001 11:32:13 PM from Type Library described below.
31
32// *************************************************************************//
33// NOTE:
34// Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties
35// which return objects that may need to be explicitly created via a function
36// call prior to any access via the property. These items have been disabled
37// in order to prevent accidental use from within the object inspector. You
38// may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively
39// removing them from the $IFDEF blocks. However, such items must still be
40// programmatically created via a method of the appropriate CoClass before
41// they can be used.
42// ************************************************************************ //
43// Type Lib: C:\Program Files\Microsoft Platform SDK\Include\dimm.tlb (1)
44// IID\LCID: {4955DD30-B159-11D0-8FCF-00AA006BCC59}\0
45// Helpfile:
46// DepndLst:
47// (1) v2.0 stdole, (C:\WINNT\System32\Stdole2.tlb)
48// (2) v4.0 StdVCL, (C:\WINNT\System32\STDVCL40.DLL)
49// Errors:
50// Hint: Member 'End' of 'IActiveIMMMessagePumpOwner' changed to 'End_'
51// Error creating palette bitmap of (TCActiveIMM) : Server D:\D5Addons\Dimm\dimm.dll contains no icons
52// ************************************************************************ //
53{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
54interface
55
56uses
57 Windows, ActiveX, Classes, OleServer;
58
59// *********************************************************************//
60// GUIDS declared in the TypeLibrary. Following prefixes are used:
61// Type Libraries : LIBID_xxxx
62// CoClasses : CLASS_xxxx
63// DISPInterfaces : DIID_xxxx
64// Non-DISP interfaces: IID_xxxx
65// *********************************************************************//
66const
67 // TypeLibrary Major and minor versions
68 ActiveIMMMajorVersion = 0;
69 ActiveIMMMinorVersion = 1;
70
71 LIBID_ActiveIMM: TGUID = '{4955DD30-B159-11D0-8FCF-00AA006BCC59}';
72
73 IID_IEnumRegisterWordA: TGUID = '{08C03412-F96B-11D0-A475-00AA006BCC59}';
74 IID_IEnumRegisterWordW: TGUID = '{4955DD31-B159-11D0-8FCF-00AA006BCC59}';
75 IID_IEnumInputContext: TGUID = '{09B5EAB0-F997-11D1-93D4-0060B067B86E}';
76 IID_IActiveIMMRegistrar: TGUID = '{B3458082-BD00-11D1-939B-0060B067B86E}';
77 IID_IActiveIMMMessagePumpOwner: TGUID = '{B5CF2CFA-8AEB-11D1-9364-0060B067B86E}';
78 IID_IActiveIMMApp: TGUID = '{08C0E040-62D1-11D1-9326-0060B067B86E}';
79 IID_IActiveIMMIME: TGUID = '{08C03411-F96B-11D0-A475-00AA006BCC59}';
80 IID_IActiveIME: TGUID = '{6FE20962-D077-11D0-8FE7-00AA006BCC59}';
81 IID_IActiveIME2: TGUID = '{E1C4BF0E-2D53-11D2-93E1-0060B067B86E}';
82 CLASS_CActiveIMM: TGUID = '{4955DD33-B159-11D0-8FCF-00AA006BCC59}';
83type
84
85// *********************************************************************//
86// Forward declaration of types defined in TypeLibrary
87// *********************************************************************//
88 IEnumRegisterWordA = interface;
89 IEnumRegisterWordW = interface;
90 IEnumInputContext = interface;
91 IActiveIMMRegistrar = interface;
92 IActiveIMMMessagePumpOwner = interface;
93 IActiveIMMApp = interface;
94 IActiveIMMIME = interface;
95 IActiveIME = interface;
96 IActiveIME2 = interface;
97
98// *********************************************************************//
99// Declaration of CoClasses defined in Type Library
100// (NOTE: Here we map each CoClass to its Default Interface)
101// *********************************************************************//
102 CActiveIMM = IActiveIMMApp;
103
104
105// *********************************************************************//
106// Declaration of structures, unions and aliases.
107// *********************************************************************//
108 wireHBITMAP = ^_userHBITMAP;
109 wireHWND = ^_RemotableHandle;
110 PUserType1 = ^TGUID; {*}
111 PUserType2 = ^tagMSG; {*}
112 PUserType3 = ^REGISTERWORDA; {*}
113 PUserType4 = ^REGISTERWORDW; {*}
114 PUserType5 = ^CANDIDATEFORM; {*}
115 PUserType6 = ^LOGFONTA; {*}
116 PUserType7 = ^LOGFONTW; {*}
117 PUserType8 = ^COMPOSITIONFORM; {*}
118 PUserType9 = ^tagPOINT; {*}
119 PWord1 = ^Word; {*}
120 PUserType10 = ^IMEMENUITEMINFOA; {*}
121 PUserType11 = ^IMEMENUITEMINFOW; {*}
122 PUserType12 = ^INPUTCONTEXT; {*}
123 PByte1 = ^Byte; {*}
124
125 __MIDL___MIDL_itf_dimm_0000_0001 = packed record
126 lpReading: PAnsiChar;
127 lpWord: PAnsiChar;
128 end;
129
130 REGISTERWORDA = __MIDL___MIDL_itf_dimm_0000_0001;
131
132 __MIDL___MIDL_itf_dimm_0000_0002 = packed record
133 lpReading: PWideChar;
134 lpWord: PWideChar;
135 end;
136
137 REGISTERWORDW = __MIDL___MIDL_itf_dimm_0000_0002;
138
139 __MIDL___MIDL_itf_dimm_0000_0003 = packed record
140 lfHeight: Integer;
141 lfWidth: Integer;
142 lfEscapement: Integer;
143 lfOrientation: Integer;
144 lfWeight: Integer;
145 lfItalic: Byte;
146 lfUnderline: Byte;
147 lfStrikeOut: Byte;
148 lfCharSet: Byte;
149 lfOutPrecision: Byte;
150 lfClipPrecision: Byte;
151 lfQuality: Byte;
152 lfPitchAndFamily: Byte;
153 lfFaceName: array[0..31] of Shortint;
154 end;
155
156 LOGFONTA = __MIDL___MIDL_itf_dimm_0000_0003;
157
158 __MIDL___MIDL_itf_dimm_0000_0004 = packed record
159 lfHeight: Integer;
160 lfWidth: Integer;
161 lfEscapement: Integer;
162 lfOrientation: Integer;
163 lfWeight: Integer;
164 lfItalic: Byte;
165 lfUnderline: Byte;
166 lfStrikeOut: Byte;
167 lfCharSet: Byte;
168 lfOutPrecision: Byte;
169 lfClipPrecision: Byte;
170 lfQuality: Byte;
171 lfPitchAndFamily: Byte;
172 lfFaceName: array[0..31] of Word;
173 end;
174
175 LOGFONTW = __MIDL___MIDL_itf_dimm_0000_0004;
176
177 tagPOINT = packed record
178 x: Integer;
179 y: Integer;
180 end;
181
182 tagRECT = packed record
183 left: Integer;
184 top: Integer;
185 right: Integer;
186 bottom: Integer;
187 end;
188
189 __MIDL___MIDL_itf_dimm_0000_0005 = packed record
190 dwIndex: LongWord;
191 dwStyle: LongWord;
192 ptCurrentPos: tagPOINT;
193 rcArea: tagRECT;
194 end;
195
196 CANDIDATEFORM = __MIDL___MIDL_itf_dimm_0000_0005;
197
198 __MIDL___MIDL_itf_dimm_0000_0006 = packed record
199 dwStyle: LongWord;
200 ptCurrentPos: tagPOINT;
201 rcArea: tagRECT;
202 end;
203
204 COMPOSITIONFORM = __MIDL___MIDL_itf_dimm_0000_0006;
205
206 __MIDL___MIDL_itf_dimm_0000_0007 = packed record
207 dwSize: LongWord;
208 dwStyle: LongWord;
209 dwCount: LongWord;
210 dwSelection: LongWord;
211 dwPageStart: LongWord;
212 dwPageSize: LongWord;
213 dwOffset: array[0..0] of LongWord;
214 end;
215
216 CANDIDATELIST = __MIDL___MIDL_itf_dimm_0000_0007;
217
218 __MIDL___MIDL_itf_dimm_0000_0008 = packed record
219 dwStyle: LongWord;
220 szDescription: array[0..31] of Shortint;
221 end;
222
223 STYLEBUFA = __MIDL___MIDL_itf_dimm_0000_0008;
224
225 __MIDL___MIDL_itf_dimm_0000_0009 = packed record
226 dwStyle: LongWord;
227 szDescription: array[0..31] of Word;
228 end;
229
230 STYLEBUFW = __MIDL___MIDL_itf_dimm_0000_0009;
231
232 __MIDL___MIDL_itf_dimm_0000_0010 = packed record
233 cbSize: SYSUINT;
234 fType: SYSUINT;
235 fState: SYSUINT;
236 wID: SYSUINT;
237 hbmpChecked: wireHBITMAP;
238 hbmpUnchecked: wireHBITMAP;
239 dwItemData: LongWord;
240 szString: array[0..79] of Shortint;
241 hbmpItem: wireHBITMAP;
242 end;
243
244 IMEMENUITEMINFOA = __MIDL___MIDL_itf_dimm_0000_0010;
245
246 _userBITMAP = packed record
247 bmType: Integer;
248 bmWidth: Integer;
249 bmHeight: Integer;
250 bmWidthBytes: Integer;
251 bmPlanes: Word;
252 bmBitsPixel: Word;
253 cbSize: LongWord;
254 pBuffer: ^Byte;
255 end;
256
257 __MIDL_IWinTypes_0007 = record
258 case Integer of
259 0: (hInproc: Integer);
260 1: (hRemote: ^_userBITMAP);
261 end;
262
263 _userHBITMAP = packed record
264 fContext: Integer;
265 u: __MIDL_IWinTypes_0007;
266 end;
267
268 __MIDL___MIDL_itf_dimm_0000_0011 = packed record
269 cbSize: SYSUINT;
270 fType: SYSUINT;
271 fState: SYSUINT;
272 wID: SYSUINT;
273 hbmpChecked: wireHBITMAP;
274 hbmpUnchecked: wireHBITMAP;
275 dwItemData: LongWord;
276 szString: array[0..79] of Word;
277 hbmpItem: wireHBITMAP;
278 end;
279
280 IMEMENUITEMINFOW = __MIDL___MIDL_itf_dimm_0000_0011;
281
282 __MIDL___MIDL_itf_dimm_0000_0013 = record
283 case Integer of
284 0: (A: LOGFONTA);
285 1: (W: LOGFONTW);
286 end;
287
288 __MIDL___MIDL_itf_dimm_0000_0012 = packed record
289 hWnd: wireHWND;
290 fOpen: Integer;
291 ptStatusWndPos: tagPOINT;
292 ptSoftKbdPos: tagPOINT;
293 fdwConversion: LongWord;
294 fdwSentence: LongWord;
295 lfFont: __MIDL___MIDL_itf_dimm_0000_0013;
296 cfCompForm: COMPOSITIONFORM;
297 cfCandForm: array[0..3] of CANDIDATEFORM;
298 hCompStr: LongWord;
299 hCandInfo: LongWord;
300 hGuideLine: LongWord;
301 hPrivate: LongWord;
302 dwNumMsgBuf: LongWord;
303 hMsgBuf: LongWord;
304 fdwInit: LongWord;
305 dwReserve: array[0..2] of LongWord;
306 end;
307
308 __MIDL_IWinTypes_0009 = record
309 case Integer of
310 0: (hInproc: Integer);
311 1: (hRemote: Integer);
312 end;
313
314 _RemotableHandle = packed record
315 fContext: Integer;
316 u: __MIDL_IWinTypes_0009;
317 end;
318
319 INPUTCONTEXT = __MIDL___MIDL_itf_dimm_0000_0012;
320
321 __MIDL___MIDL_itf_dimm_0000_0014 = packed record
322 dwPrivateDataSize: LongWord;
323 fdwProperty: LongWord;
324 fdwConversionCaps: LongWord;
325 fdwSentenceCaps: LongWord;
326 fdwUICaps: LongWord;
327 fdwSCSCaps: LongWord;
328 fdwSelectCaps: LongWord;
329 end;
330
331 IMEINFO = __MIDL___MIDL_itf_dimm_0000_0014;
332 UINT_PTR = LongWord;
333 LONG_PTR = Integer;
334
335 tagMSG = packed record
336 hWnd: wireHWND;
337 message: SYSUINT;
338 wParam: UINT_PTR;
339 lParam: LONG_PTR;
340 time: LongWord;
341 pt: tagPOINT;
342 end;
343
344
345// *********************************************************************//
346// Interface: IEnumRegisterWordA
347// Flags: (0)
348// GUID: {08C03412-F96B-11D0-A475-00AA006BCC59}
349// *********************************************************************//
350 IEnumRegisterWordA = interface(IUnknown)
351 ['{08C03412-F96B-11D0-A475-00AA006BCC59}']
352 function Clone(out ppEnum: IEnumRegisterWordA): HResult; stdcall;
353 function Next(ulCount: LongWord; out rgRegisterWord: REGISTERWORDA; out pcFetched: LongWord): HResult; stdcall;
354 function Reset: HResult; stdcall;
355 function Skip(ulCount: LongWord): HResult; stdcall;
356 end;
357
358// *********************************************************************//
359// Interface: IEnumRegisterWordW
360// Flags: (0)
361// GUID: {4955DD31-B159-11D0-8FCF-00AA006BCC59}
362// *********************************************************************//
363 IEnumRegisterWordW = interface(IUnknown)
364 ['{4955DD31-B159-11D0-8FCF-00AA006BCC59}']
365 function Clone(out ppEnum: IEnumRegisterWordW): HResult; stdcall;
366 function Next(ulCount: LongWord; out rgRegisterWord: REGISTERWORDW; out pcFetched: LongWord): HResult; stdcall;
367 function Reset: HResult; stdcall;
368 function Skip(ulCount: LongWord): HResult; stdcall;
369 end;
370
371// *********************************************************************//
372// Interface: IEnumInputContext
373// Flags: (0)
374// GUID: {09B5EAB0-F997-11D1-93D4-0060B067B86E}
375// *********************************************************************//
376 IEnumInputContext = interface(IUnknown)
377 ['{09B5EAB0-F997-11D1-93D4-0060B067B86E}']
378 function Clone(out ppEnum: IEnumInputContext): HResult; stdcall;
379 function Next(ulCount: LongWord; out rgInputContext: LongWord; out pcFetched: LongWord): HResult; stdcall;
380 function Reset: HResult; stdcall;
381 function Skip(ulCount: LongWord): HResult; stdcall;
382 end;
383
384// *********************************************************************//
385// Interface: IActiveIMMRegistrar
386// Flags: (0)
387// GUID: {B3458082-BD00-11D1-939B-0060B067B86E}
388// *********************************************************************//
389 IActiveIMMRegistrar = interface(IUnknown)
390 ['{B3458082-BD00-11D1-939B-0060B067B86E}']
391 function RegisterIME(var rclsid: TGUID; lgid: Word; pszIconFile: PWideChar; pszDesc: PWideChar): HResult; stdcall;
392 function UnregisterIME(var rclsid: TGUID): HResult; stdcall;
393 end;
394
395// *********************************************************************//
396// Interface: IActiveIMMMessagePumpOwner
397// Flags: (0)
398// GUID: {B5CF2CFA-8AEB-11D1-9364-0060B067B86E}
399// *********************************************************************//
400 IActiveIMMMessagePumpOwner = interface(IUnknown)
401 ['{B5CF2CFA-8AEB-11D1-9364-0060B067B86E}']
402 function Start: HResult; stdcall;
403 function End_: HResult; stdcall;
404 function OnTranslateMessage(var pMsg: tagMSG): HResult; stdcall;
405 function Pause(out pdwCookie: LongWord): HResult; stdcall;
406 function Resume(dwCookie: LongWord): HResult; stdcall;
407 end;
408
409// *********************************************************************//
410// Interface: IActiveIMMApp
411// Flags: (0)
412// GUID: {08C0E040-62D1-11D1-9326-0060B067B86E}
413// *********************************************************************//
414 IActiveIMMApp = interface(IUnknown)
415 ['{08C0E040-62D1-11D1-9326-0060B067B86E}']
416 function AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord; out phPrev: LongWord): HResult; stdcall;
417 function ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
418 var pData: REGISTERWORDA): HResult; stdcall;
419 function ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
420 var pData: REGISTERWORDW): HResult; stdcall;
421 function CreateContext(out phIMC: LongWord): HResult; stdcall;
422 function DestroyContext(hIME: LongWord): HResult; stdcall;
423 function EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
424 szRegister: PAnsiChar; var pData: Pointer; out pEnum: IEnumRegisterWordA): HResult; stdcall;
425 function EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
426 szRegister: PWideChar; var pData: Pointer;
427 out pEnum: IEnumRegisterWordW): HResult; stdcall;
428 function EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
429 out plResult: LONG_PTR): HResult; stdcall;
430 function EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
431 out plResult: LONG_PTR): HResult; stdcall;
432 function GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
433 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
434 function GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
435 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
436 function GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
437 out pdwBufLen: LongWord): HResult; stdcall;
438 function GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
439 out pdwBufLen: LongWord): HResult; stdcall;
440 function GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord; out pCandidate: CANDIDATEFORM): HResult; stdcall;
441 function GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult; stdcall;
442 function GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult; stdcall;
443 function GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
444 out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
445 function GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
446 out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
447 function GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult; stdcall;
448 function GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult; stdcall;
449 function GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar; uBufLen: SYSUINT;
450 uFlag: SYSUINT; out pDst: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
451 function GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
452 uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
453 out puCopied: SYSUINT): HResult; stdcall;
454 function GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
455 out pfdwSentence: LongWord): HResult; stdcall;
456 function GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult; stdcall;
457 function GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
458 out puCopied: SYSUINT): HResult; stdcall;
459 function GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
460 out puCopied: SYSUINT): HResult; stdcall;
461 function GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PAnsiChar;
462 out pdwResult: LongWord): HResult; stdcall;
463 function GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PWideChar;
464 out pdwResult: LongWord): HResult; stdcall;
465 function GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
466 out puCopied: SYSUINT): HResult; stdcall;
467 function GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
468 out puCopied: SYSUINT): HResult; stdcall;
469 function GetOpenStatus(hIMC: LongWord): HResult; stdcall;
470 function GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult; stdcall;
471 function GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFA;
472 out puCopied: SYSUINT): HResult; stdcall;
473 function GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFW;
474 out puCopied: SYSUINT): HResult; stdcall;
475 function GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult; stdcall;
476 function GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult; stdcall;
477 function InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult; stdcall;
478 function InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar; out phKL: Pointer): HResult; stdcall;
479 function IsIME(var hKL: Pointer): HResult; stdcall;
480 function IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
481 lParam: LONG_PTR): HResult; stdcall;
482 function IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
483 lParam: LONG_PTR): HResult; stdcall;
484 function NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult; stdcall;
485 function REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; szRegister: PAnsiChar): HResult; stdcall;
486 function REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
487 szRegister: PWideChar): HResult; stdcall;
488 function ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult; stdcall;
489 function SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult; stdcall;
490 function SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult; stdcall;
491 function SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult; stdcall;
492 function SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
493 dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
494 function SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
495 dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
496 function SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult; stdcall;
497 function SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord; fdwSentence: LongWord): HResult; stdcall;
498 function SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult; stdcall;
499 function SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult; stdcall;
500 function SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult; stdcall;
501 function UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
502 szUnregister: PAnsiChar): HResult; stdcall;
503 function UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
504 szUnregister: PWideChar): HResult; stdcall;
505 function Activate(fRestoreLayout: Integer): HResult; stdcall;
506 function Deactivate: HResult; stdcall;
507 function OnDefWindowProc(var hWnd: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
508 lParam: LONG_PTR; out plResult: LONG_PTR): HResult; stdcall;
509 function FilterClientWindows(var aaClassList: Word; uSize: SYSUINT): HResult; stdcall;
510 function GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult; stdcall;
511 function GetLangId(var hKL: Pointer; out plid: Word): HResult; stdcall;
512 function AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord; dwFlags: LongWord): HResult; stdcall;
513 function DisableIME(idThread: LongWord): HResult; stdcall;
514 function GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
515 var pImeParentMenu: IMEMENUITEMINFOA;
516 out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
517 out pdwResult: LongWord): HResult; stdcall;
518 function GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
519 var pImeParentMenu: IMEMENUITEMINFOW;
520 out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
521 out pdwResult: LongWord): HResult; stdcall;
522 function EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult; stdcall;
523 end;
524
525// *********************************************************************//
526// Interface: IActiveIMMIME
527// Flags: (0)
528// GUID: {08C03411-F96B-11D0-A475-00AA006BCC59}
529// *********************************************************************//
530 IActiveIMMIME = interface(IUnknown)
531 ['{08C03411-F96B-11D0-A475-00AA006BCC59}']
532 function AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord; out phPrev: LongWord): HResult; stdcall;
533 function ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
534 var pData: REGISTERWORDA): HResult; stdcall;
535 function ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
536 var pData: REGISTERWORDW): HResult; stdcall;
537 function CreateContext(out phIMC: LongWord): HResult; stdcall;
538 function DestroyContext(hIME: LongWord): HResult; stdcall;
539 function EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
540 szRegister: PAnsiChar; var pData: Pointer; out pEnum: IEnumRegisterWordA): HResult; stdcall;
541 function EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
542 szRegister: PWideChar; var pData: Pointer;
543 out pEnum: IEnumRegisterWordW): HResult; stdcall;
544 function EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
545 out plResult: LONG_PTR): HResult; stdcall;
546 function EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
547 out plResult: LONG_PTR): HResult; stdcall;
548 function GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
549 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
550 function GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
551 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
552 function GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
553 out pdwBufLen: LongWord): HResult; stdcall;
554 function GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
555 out pdwBufLen: LongWord): HResult; stdcall;
556 function GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord; out pCandidate: CANDIDATEFORM): HResult; stdcall;
557 function GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult; stdcall;
558 function GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult; stdcall;
559 function GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
560 out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
561 function GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
562 out plCopied: Integer; out pBuf: Pointer): HResult; stdcall;
563 function GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult; stdcall;
564 function GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult; stdcall;
565 function GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar; uBufLen: SYSUINT;
566 uFlag: SYSUINT; out pDst: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
567 function GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
568 uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
569 out puCopied: SYSUINT): HResult; stdcall;
570 function GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
571 out pfdwSentence: LongWord): HResult; stdcall;
572 function GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult; stdcall;
573 function GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
574 out puCopied: SYSUINT): HResult; stdcall;
575 function GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
576 out puCopied: SYSUINT): HResult; stdcall;
577 function GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PAnsiChar;
578 out pdwResult: LongWord): HResult; stdcall;
579 function GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PWideChar;
580 out pdwResult: LongWord): HResult; stdcall;
581 function GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
582 out puCopied: SYSUINT): HResult; stdcall;
583 function GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
584 out puCopied: SYSUINT): HResult; stdcall;
585 function GetOpenStatus(hIMC: LongWord): HResult; stdcall;
586 function GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult; stdcall;
587 function GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFA;
588 out puCopied: SYSUINT): HResult; stdcall;
589 function GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFW;
590 out puCopied: SYSUINT): HResult; stdcall;
591 function GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult; stdcall;
592 function GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult; stdcall;
593 function InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult; stdcall;
594 function InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar; out phKL: Pointer): HResult; stdcall;
595 function IsIME(var hKL: Pointer): HResult; stdcall;
596 function IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
597 lParam: LONG_PTR): HResult; stdcall;
598 function IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
599 lParam: LONG_PTR): HResult; stdcall;
600 function NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult; stdcall;
601 function REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; szRegister: PAnsiChar): HResult; stdcall;
602 function REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
603 szRegister: PWideChar): HResult; stdcall;
604 function ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult; stdcall;
605 function SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult; stdcall;
606 function SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult; stdcall;
607 function SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult; stdcall;
608 function SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
609 dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
610 function SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
611 dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
612 function SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult; stdcall;
613 function SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord; fdwSentence: LongWord): HResult; stdcall;
614 function SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult; stdcall;
615 function SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult; stdcall;
616 function SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult; stdcall;
617 function UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
618 szUnregister: PAnsiChar): HResult; stdcall;
619 function UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
620 szUnregister: PWideChar): HResult; stdcall;
621 function GenerateMessage(hIMC: LongWord): HResult; stdcall;
622 function LockIMC(hIMC: LongWord; out ppIMC: PUserType12): HResult; stdcall;
623 function UnlockIMC(hIMC: LongWord): HResult; stdcall;
624 function GetIMCLockCount(hIMC: LongWord; out pdwLockCount: LongWord): HResult; stdcall;
625 function CreateIMCC(dwSize: LongWord; out phIMCC: LongWord): HResult; stdcall;
626 function DestroyIMCC(hIMCC: LongWord): HResult; stdcall;
627 function LockIMCC(hIMCC: LongWord; out ppv: Pointer): HResult; stdcall;
628 function UnlockIMCC(hIMCC: LongWord): HResult; stdcall;
629 function ReSizeIMCC(hIMCC: LongWord; dwSize: LongWord; out phIMCC: LongWord): HResult; stdcall;
630 function GetIMCCSize(hIMCC: LongWord; out pdwSize: LongWord): HResult; stdcall;
631 function GetIMCCLockCount(hIMCC: LongWord; out pdwLockCount: LongWord): HResult; stdcall;
632 function GetHotKey(dwHotKeyID: LongWord; out puModifiers: SYSUINT; out puVKey: SYSUINT;
633 out phKL: Pointer): HResult; stdcall;
634 function SetHotKey(dwHotKeyID: LongWord; uModifiers: SYSUINT; uVKey: SYSUINT; var hKL: Pointer): HResult; stdcall;
635 function CreateSoftKeyboard(uType: SYSUINT; var hOwner: _RemotableHandle; x: SYSINT;
636 y: SYSINT; out phSoftKbdWnd: wireHWND): HResult; stdcall;
637 function DestroySoftKeyboard(var hSoftKbdWnd: _RemotableHandle): HResult; stdcall;
638 function ShowSoftKeyboard(var hSoftKbdWnd: _RemotableHandle; nCmdShow: SYSINT): HResult; stdcall;
639 function GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult; stdcall;
640 function GetLangId(var hKL: Pointer; out plid: Word): HResult; stdcall;
641 function KeybdEvent(lgidIME: Word; bVk: Byte; bScan: Byte; dwFlags: LongWord;
642 dwExtraInfo: LongWord): HResult; stdcall;
643 function LockModal: HResult; stdcall;
644 function UnlockModal: HResult; stdcall;
645 function AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord; dwFlags: LongWord): HResult; stdcall;
646 function DisableIME(idThread: LongWord): HResult; stdcall;
647 function GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
648 var pImeParentMenu: IMEMENUITEMINFOA;
649 out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
650 out pdwResult: LongWord): HResult; stdcall;
651 function GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
652 var pImeParentMenu: IMEMENUITEMINFOW;
653 out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
654 out pdwResult: LongWord): HResult; stdcall;
655 function EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult; stdcall;
656 function RequestMessageA(hIMC: LongWord; wParam: UINT_PTR; lParam: LONG_PTR;
657 out plResult: LONG_PTR): HResult; stdcall;
658 function RequestMessageW(hIMC: LongWord; wParam: UINT_PTR; lParam: LONG_PTR;
659 out plResult: LONG_PTR): HResult; stdcall;
660 function SendIMCA(var hWnd: _RemotableHandle; uMsg: SYSUINT; wParam: UINT_PTR;
661 lParam: LONG_PTR; out plResult: LONG_PTR): HResult; stdcall;
662 function SendIMCW(var hWnd: _RemotableHandle; uMsg: SYSUINT; wParam: UINT_PTR;
663 lParam: LONG_PTR; out plResult: LONG_PTR): HResult; stdcall;
664 function IsSleeping: HResult; stdcall;
665 end;
666
667// *********************************************************************//
668// Interface: IActiveIME
669// Flags: (0)
670// GUID: {6FE20962-D077-11D0-8FE7-00AA006BCC59}
671// *********************************************************************//
672 IActiveIME = interface(IUnknown)
673 ['{6FE20962-D077-11D0-8FE7-00AA006BCC59}']
674 function Inquire(dwSystemInfoFlags: LongWord; out pIMEInfo: IMEINFO; szWndClass: PWideChar;
675 out pdwPrivate: LongWord): HResult; stdcall;
676 function ConversionList(hIMC: LongWord; szSource: PWideChar; uFlag: SYSUINT; uBufLen: SYSUINT;
677 out pDest: CANDIDATELIST; out puCopied: SYSUINT): HResult; stdcall;
678 function Configure(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
679 var pRegisterWord: REGISTERWORDW): HResult; stdcall;
680 function Destroy(uReserved: SYSUINT): HResult; stdcall;
681 function Escape(hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer; out plResult: LONG_PTR): HResult; stdcall;
682 function SetActiveContext(hIMC: LongWord; fFlag: Integer): HResult; stdcall;
683 function ProcessKey(hIMC: LongWord; uVirKey: SYSUINT; lParam: LongWord; var pbKeyState: Byte): HResult; stdcall;
684 function Notify(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult; stdcall;
685 function Select(hIMC: LongWord; fSelect: Integer): HResult; stdcall;
686 function SetCompositionString(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
687 dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult; stdcall;
688 function ToAsciiEx(uVirKey: SYSUINT; uScanCode: SYSUINT; var pbKeyState: Byte;
689 fuState: SYSUINT; hIMC: LongWord; out pdwTransBuf: LongWord;
690 out puSize: SYSUINT): HResult; stdcall;
691 function RegisterWord(szReading: PWideChar; dwStyle: LongWord; szString: PWideChar): HResult; stdcall;
692 function UnregisterWord(szReading: PWideChar; dwStyle: LongWord; szString: PWideChar): HResult; stdcall;
693 function GetRegisterWordStyle(nItem: SYSUINT; out pStyleBuf: STYLEBUFW; out puBufSize: SYSUINT): HResult; stdcall;
694 function EnumRegisterWord(szReading: PWideChar; dwStyle: LongWord; szRegister: PWideChar;
695 var pData: Pointer; out ppEnum: IEnumRegisterWordW): HResult; stdcall;
696 function GetCodePageA(out uCodePage: SYSUINT): HResult; stdcall;
697 function GetLangId(out plid: Word): HResult; stdcall;
698 end;
699
700// *********************************************************************//
701// Interface: IActiveIME2
702// Flags: (0)
703// GUID: {E1C4BF0E-2D53-11D2-93E1-0060B067B86E}
704// *********************************************************************//
705 IActiveIME2 = interface(IActiveIME)
706 ['{E1C4BF0E-2D53-11D2-93E1-0060B067B86E}']
707 function Sleep: HResult; stdcall;
708 function Unsleep(fDead: Integer): HResult; stdcall;
709 end;
710
711// *********************************************************************//
712// The Class CoCActiveIMM provides a Create and CreateRemote method to
713// create instances of the default interface IActiveIMMApp exposed by
714// the CoClass CActiveIMM. The functions are intended to be used by
715// clients wishing to automate the CoClass objects exposed by the
716// server of this typelibrary.
717// *********************************************************************//
718 CoCActiveIMM = class
719 class function Create: IActiveIMMApp;
720 class function CreateRemote(const MachineName: AnsiString): IActiveIMMApp;
721 end;
722
723
724// *********************************************************************//
725// OLE Server Proxy class declaration
726// Server Object : TCActiveIMM
727// Help String :
728// Default Interface: IActiveIMMApp
729// Def. Intf. DISP? : No
730// Event Interface:
731// TypeFlags : (2) CanCreate
732// *********************************************************************//
733{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
734 TCActiveIMMProperties= class;
735{$ENDIF}
736 TCActiveIMM = class(TOleServer)
737 private
738 FIntf: IActiveIMMApp;
739{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
740 FProps: TCActiveIMMProperties;
741 function GetServerProperties: TCActiveIMMProperties;
742{$ENDIF}
743 function GetDefaultInterface: IActiveIMMApp;
744 protected
745 procedure InitServerData; override;
746 public
747 constructor Create(AOwner: TComponent); override;
748 destructor Destroy; override;
749 procedure Connect; override;
750 procedure ConnectTo(svrIntf: IActiveIMMApp);
751 procedure Disconnect; override;
752 function AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord; out phPrev: LongWord): HResult;
753 function ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
754 var pData: REGISTERWORDA): HResult;
755 function ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
756 var pData: REGISTERWORDW): HResult;
757 function CreateContext(out phIMC: LongWord): HResult;
758 function DestroyContext(hIME: LongWord): HResult;
759 function EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
760 szRegister: PAnsiChar; var pData: Pointer; out pEnum: IEnumRegisterWordA): HResult;
761 function EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
762 szRegister: PWideChar; var pData: Pointer;
763 out pEnum: IEnumRegisterWordW): HResult;
764 function EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
765 out plResult: LONG_PTR): HResult;
766 function EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; var pData: Pointer;
767 out plResult: LONG_PTR): HResult;
768 function GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
769 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
770 function GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
771 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
772 function GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
773 out pdwBufLen: LongWord): HResult;
774 function GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
775 out pdwBufLen: LongWord): HResult;
776 function GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord; out pCandidate: CANDIDATEFORM): HResult;
777 function GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult;
778 function GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult;
779 function GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
780 out plCopied: Integer; out pBuf: Pointer): HResult;
781 function GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
782 out plCopied: Integer; out pBuf: Pointer): HResult;
783 function GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult;
784 function GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult;
785 function GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar; uBufLen: SYSUINT;
786 uFlag: SYSUINT; out pDst: CANDIDATELIST; out puCopied: SYSUINT): HResult;
787 function GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
788 uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
789 out puCopied: SYSUINT): HResult;
790 function GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
791 out pfdwSentence: LongWord): HResult;
792 function GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult;
793 function GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
794 out puCopied: SYSUINT): HResult;
795 function GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
796 out puCopied: SYSUINT): HResult;
797 function GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PAnsiChar;
798 out pdwResult: LongWord): HResult;
799 function GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; pBuf: PWideChar;
800 out pdwResult: LongWord): HResult;
801 function GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
802 out puCopied: SYSUINT): HResult;
803 function GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
804 out puCopied: SYSUINT): HResult;
805 function GetOpenStatus(hIMC: LongWord): HResult;
806 function GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult;
807 function GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFA;
808 out puCopied: SYSUINT): HResult;
809 function GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT; out pStyleBuf: STYLEBUFW;
810 out puCopied: SYSUINT): HResult;
811 function GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult;
812 function GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult;
813 function InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult;
814 function InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar; out phKL: Pointer): HResult;
815 function IsIME(var hKL: Pointer): HResult;
816 function IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
817 lParam: LONG_PTR): HResult;
818 function IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
819 lParam: LONG_PTR): HResult;
820 function NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; dwValue: LongWord): HResult;
821 function REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; szRegister: PAnsiChar): HResult;
822 function REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
823 szRegister: PWideChar): HResult;
824 function ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult;
825 function SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult;
826 function SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult;
827 function SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult;
828 function SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
829 dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult;
830 function SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
831 dwCompLen: LongWord; var pRead: Pointer; dwReadLen: LongWord): HResult;
832 function SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult;
833 function SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord; fdwSentence: LongWord): HResult;
834 function SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult;
835 function SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult;
836 function SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult;
837 function UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
838 szUnregister: PAnsiChar): HResult;
839 function UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
840 szUnregister: PWideChar): HResult;
841 function Activate(fRestoreLayout: Integer): HResult;
842 function Deactivate: HResult;
843 function OnDefWindowProc(var hWnd: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
844 lParam: LONG_PTR; out plResult: LONG_PTR): HResult;
845 function FilterClientWindows(var aaClassList: Word; uSize: SYSUINT): HResult;
846 function GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult;
847 function GetLangId(var hKL: Pointer; out plid: Word): HResult;
848 function AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord; dwFlags: LongWord): HResult;
849 function DisableIME(idThread: LongWord): HResult;
850 function GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
851 var pImeParentMenu: IMEMENUITEMINFOA;
852 out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
853 out pdwResult: LongWord): HResult;
854 function GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
855 var pImeParentMenu: IMEMENUITEMINFOW;
856 out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
857 out pdwResult: LongWord): HResult;
858 function EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult;
859 property DefaultInterface: IActiveIMMApp read GetDefaultInterface;
860 published
861{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
862 property Server: TCActiveIMMProperties read GetServerProperties;
863{$ENDIF}
864 end;
865
866{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
867// *********************************************************************//
868// OLE Server Properties Proxy Class
869// Server Object : TCActiveIMM
870// (This object is used by the IDE's Property Inspector to allow editing
871// of the properties of this server)
872// *********************************************************************//
873 TCActiveIMMProperties = class(TPersistent)
874 private
875 FServer: TCActiveIMM;
876 function GetDefaultInterface: IActiveIMMApp;
877 constructor Create(AServer: TCActiveIMM);
878 protected
879 public
880 property DefaultInterface: IActiveIMMApp read GetDefaultInterface;
881 published
882 end;
883{$ENDIF}
884
885implementation
886
887uses
888 ComObj;
889
890class function CoCActiveIMM.Create: IActiveIMMApp;
891begin
892 Result := CreateComObject(CLASS_CActiveIMM) as IActiveIMMApp;
893end;
894
895class function CoCActiveIMM.CreateRemote(const MachineName: AnsiString): IActiveIMMApp;
896begin
897 Result := CreateRemoteComObject(MachineName, CLASS_CActiveIMM) as IActiveIMMApp;
898end;
899
900procedure TCActiveIMM.InitServerData;
901const
902 CServerData: TServerData = (
903 ClassID: '{4955DD33-B159-11D0-8FCF-00AA006BCC59}';
904 IntfIID: '{08C0E040-62D1-11D1-9326-0060B067B86E}';
905 EventIID: '';
906 LicenseKey: nil;
907 Version: 500);
908begin
909 ServerData := @CServerData;
910end;
911
912procedure TCActiveIMM.Connect;
913var
914 punk: IUnknown;
915begin
916 if FIntf = nil then
917 begin
918 punk := GetServer;
919 Fintf:= punk as IActiveIMMApp;
920 end;
921end;
922
923procedure TCActiveIMM.ConnectTo(svrIntf: IActiveIMMApp);
924begin
925 Disconnect;
926 FIntf := svrIntf;
927end;
928
929procedure TCActiveIMM.DisConnect;
930begin
931 if Fintf <> nil then
932 begin
933 FIntf := nil;
934 end;
935end;
936
937function TCActiveIMM.GetDefaultInterface: IActiveIMMApp;
938begin
939 if FIntf = nil then
940 Connect;
941 Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
942 Result := FIntf;
943end;
944
945constructor TCActiveIMM.Create(AOwner: TComponent);
946begin
947 inherited Create(AOwner);
948{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
949 FProps := TCActiveIMMProperties.Create(Self);
950{$ENDIF}
951end;
952
953destructor TCActiveIMM.Destroy;
954begin
955{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
956 FProps.Free;
957{$ENDIF}
958 inherited Destroy;
959end;
960
961{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
962function TCActiveIMM.GetServerProperties: TCActiveIMMProperties;
963begin
964 Result := FProps;
965end;
966{$ENDIF}
967
968function TCActiveIMM.AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord;
969 out phPrev: LongWord): HResult;
970begin
971 Result := DefaultInterface.AssociateContext(hWnd, hIME, phPrev);
972end;
973
974function TCActiveIMM.ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
975 var pData: REGISTERWORDA): HResult;
976begin
977 Result := DefaultInterface.ConfigureIMEA(hKL, hWnd, dwMode, pData);
978end;
979
980function TCActiveIMM.ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord;
981 var pData: REGISTERWORDW): HResult;
982begin
983 Result := DefaultInterface.ConfigureIMEW(hKL, hWnd, dwMode, pData);
984end;
985
986function TCActiveIMM.CreateContext(out phIMC: LongWord): HResult;
987begin
988 Result := DefaultInterface.CreateContext(phIMC);
989end;
990
991function TCActiveIMM.DestroyContext(hIME: LongWord): HResult;
992begin
993 Result := DefaultInterface.DestroyContext(hIME);
994end;
995
996function TCActiveIMM.EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
997 szRegister: PAnsiChar; var pData: Pointer;
998 out pEnum: IEnumRegisterWordA): HResult;
999begin
1000 Result := DefaultInterface.EnumRegisterWordA(hKL, szReading, dwStyle, szRegister, pData, pEnum);
1001end;
1002
1003function TCActiveIMM.EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
1004 szRegister: PWideChar; var pData: Pointer;
1005 out pEnum: IEnumRegisterWordW): HResult;
1006begin
1007 Result := DefaultInterface.EnumRegisterWordW(hKL, szReading, dwStyle, szRegister, pData, pEnum);
1008end;
1009
1010function TCActiveIMM.EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT;
1011 var pData: Pointer; out plResult: LONG_PTR): HResult;
1012begin
1013 Result := DefaultInterface.EscapeA(hKL, hIMC, uEscape, pData, plResult);
1014end;
1015
1016function TCActiveIMM.EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT;
1017 var pData: Pointer; out plResult: LONG_PTR): HResult;
1018begin
1019 Result := DefaultInterface.EscapeW(hKL, hIMC, uEscape, pData, plResult);
1020end;
1021
1022function TCActiveIMM.GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
1023 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
1024begin
1025 Result := DefaultInterface.GetCandidateListA(hIMC, dwIndex, uBufLen, pCandList, puCopied);
1026end;
1027
1028function TCActiveIMM.GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT;
1029 out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult;
1030begin
1031 Result := DefaultInterface.GetCandidateListW(hIMC, dwIndex, uBufLen, pCandList, puCopied);
1032end;
1033
1034function TCActiveIMM.GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord;
1035 out pdwBufLen: LongWord): HResult;
1036begin
1037 Result := DefaultInterface.GetCandidateListCountA(hIMC, pdwListSize, pdwBufLen);
1038end;
1039
1040function TCActiveIMM.GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord;
1041 out pdwBufLen: LongWord): HResult;
1042begin
1043 Result := DefaultInterface.GetCandidateListCountW(hIMC, pdwListSize, pdwBufLen);
1044end;
1045
1046function TCActiveIMM.GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord;
1047 out pCandidate: CANDIDATEFORM): HResult;
1048begin
1049 Result := DefaultInterface.GetCandidateWindow(hIMC, dwIndex, pCandidate);
1050end;
1051
1052function TCActiveIMM.GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult;
1053begin
1054 Result := DefaultInterface.GetCompositionFontA(hIMC, plf);
1055end;
1056
1057function TCActiveIMM.GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult;
1058begin
1059 Result := DefaultInterface.GetCompositionFontW(hIMC, plf);
1060end;
1061
1062function TCActiveIMM.GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
1063 out plCopied: Integer; out pBuf: Pointer): HResult;
1064begin
1065 Result := DefaultInterface.GetCompositionStringA(hIMC, dwIndex, dwBufLen, plCopied, pBuf);
1066end;
1067
1068function TCActiveIMM.GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
1069 out plCopied: Integer; out pBuf: Pointer): HResult;
1070begin
1071 Result := DefaultInterface.GetCompositionStringW(hIMC, dwIndex, dwBufLen, plCopied, pBuf);
1072end;
1073
1074function TCActiveIMM.GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult;
1075begin
1076 Result := DefaultInterface.GetCompositionWindow(hIMC, pCompForm);
1077end;
1078
1079function TCActiveIMM.GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult;
1080begin
1081 Result := DefaultInterface.GetContext(hWnd, phIMC);
1082end;
1083
1084function TCActiveIMM.GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar;
1085 uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
1086 out puCopied: SYSUINT): HResult;
1087begin
1088 Result := DefaultInterface.GetConversionListA(hKL, hIMC, pSrc, uBufLen, uFlag, pDst, puCopied);
1089end;
1090
1091function TCActiveIMM.GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar;
1092 uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST;
1093 out puCopied: SYSUINT): HResult;
1094begin
1095 Result := DefaultInterface.GetConversionListW(hKL, hIMC, pSrc, uBufLen, uFlag, pDst, puCopied);
1096end;
1097
1098function TCActiveIMM.GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord;
1099 out pfdwSentence: LongWord): HResult;
1100begin
1101 Result := DefaultInterface.GetConversionStatus(hIMC, pfdwConversion, pfdwSentence);
1102end;
1103
1104function TCActiveIMM.GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult;
1105begin
1106 Result := DefaultInterface.GetDefaultIMEWnd(hWnd, phDefWnd);
1107end;
1108
1109function TCActiveIMM.GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar;
1110 out puCopied: SYSUINT): HResult;
1111begin
1112 Result := DefaultInterface.GetDescriptionA(hKL, uBufLen, szDescription, puCopied);
1113end;
1114
1115function TCActiveIMM.GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar;
1116 out puCopied: SYSUINT): HResult;
1117begin
1118 Result := DefaultInterface.GetDescriptionW(hKL, uBufLen, szDescription, puCopied);
1119end;
1120
1121function TCActiveIMM.GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
1122 pBuf: PAnsiChar; out pdwResult: LongWord): HResult;
1123begin
1124 Result := DefaultInterface.GetGuideLineA(hIMC, dwIndex, dwBufLen, pBuf, pdwResult);
1125end;
1126
1127function TCActiveIMM.GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord;
1128 pBuf: PWideChar; out pdwResult: LongWord): HResult;
1129begin
1130 Result := DefaultInterface.GetGuideLineW(hIMC, dwIndex, dwBufLen, pBuf, pdwResult);
1131end;
1132
1133function TCActiveIMM.GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar;
1134 out puCopied: SYSUINT): HResult;
1135begin
1136 Result := DefaultInterface.GetIMEFileNameA(hKL, uBufLen, szFileName, puCopied);
1137end;
1138
1139function TCActiveIMM.GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar;
1140 out puCopied: SYSUINT): HResult;
1141begin
1142 Result := DefaultInterface.GetIMEFileNameW(hKL, uBufLen, szFileName, puCopied);
1143end;
1144
1145function TCActiveIMM.GetOpenStatus(hIMC: LongWord): HResult;
1146begin
1147 Result := DefaultInterface.GetOpenStatus(hIMC);
1148end;
1149
1150function TCActiveIMM.GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult;
1151begin
1152 Result := DefaultInterface.GetProperty(hKL, fdwIndex, pdwProperty);
1153end;
1154
1155function TCActiveIMM.GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT;
1156 out pStyleBuf: STYLEBUFA; out puCopied: SYSUINT): HResult;
1157begin
1158 Result := DefaultInterface.GetRegisterWordStyleA(hKL, nItem, pStyleBuf, puCopied);
1159end;
1160
1161function TCActiveIMM.GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT;
1162 out pStyleBuf: STYLEBUFW; out puCopied: SYSUINT): HResult;
1163begin
1164 Result := DefaultInterface.GetRegisterWordStyleW(hKL, nItem, pStyleBuf, puCopied);
1165end;
1166
1167function TCActiveIMM.GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult;
1168begin
1169 Result := DefaultInterface.GetStatusWindowPos(hIMC, pptPos);
1170end;
1171
1172function TCActiveIMM.GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult;
1173begin
1174 Result := DefaultInterface.GetVirtualKey(hWnd, puVirtualKey);
1175end;
1176
1177function TCActiveIMM.InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult;
1178begin
1179 Result := DefaultInterface.InstallIMEA(szIMEFileName, szLayoutText, phKL);
1180end;
1181
1182function TCActiveIMM.InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar;
1183 out phKL: Pointer): HResult;
1184begin
1185 Result := DefaultInterface.InstallIMEW(szIMEFileName, szLayoutText, phKL);
1186end;
1187
1188function TCActiveIMM.IsIME(var hKL: Pointer): HResult;
1189begin
1190 Result := DefaultInterface.IsIME(hKL);
1191end;
1192
1193function TCActiveIMM.IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
1194 lParam: LONG_PTR): HResult;
1195begin
1196 Result := DefaultInterface.IsUIMessageA(hWndIME, msg, wParam, lParam);
1197end;
1198
1199function TCActiveIMM.IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
1200 lParam: LONG_PTR): HResult;
1201begin
1202 Result := DefaultInterface.IsUIMessageW(hWndIME, msg, wParam, lParam);
1203end;
1204
1205function TCActiveIMM.NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord;
1206 dwValue: LongWord): HResult;
1207begin
1208 Result := DefaultInterface.NotifyIME(hIMC, dwAction, dwIndex, dwValue);
1209end;
1210
1211function TCActiveIMM.REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
1212 szRegister: PAnsiChar): HResult;
1213begin
1214 Result := DefaultInterface.REGISTERWORDA(hKL, szReading, dwStyle, szRegister);
1215end;
1216
1217function TCActiveIMM.REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
1218 szRegister: PWideChar): HResult;
1219begin
1220 Result := DefaultInterface.REGISTERWORDW(hKL, szReading, dwStyle, szRegister);
1221end;
1222
1223function TCActiveIMM.ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult;
1224begin
1225 Result := DefaultInterface.ReleaseContext(hWnd, hIMC);
1226end;
1227
1228function TCActiveIMM.SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult;
1229begin
1230 Result := DefaultInterface.SetCandidateWindow(hIMC, pCandidate);
1231end;
1232
1233function TCActiveIMM.SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult;
1234begin
1235 Result := DefaultInterface.SetCompositionFontA(hIMC, plf);
1236end;
1237
1238function TCActiveIMM.SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult;
1239begin
1240 Result := DefaultInterface.SetCompositionFontW(hIMC, plf);
1241end;
1242
1243function TCActiveIMM.SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
1244 dwCompLen: LongWord; var pRead: Pointer;
1245 dwReadLen: LongWord): HResult;
1246begin
1247 Result := DefaultInterface.SetCompositionStringA(hIMC, dwIndex, pComp, dwCompLen, pRead, dwReadLen);
1248end;
1249
1250function TCActiveIMM.SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer;
1251 dwCompLen: LongWord; var pRead: Pointer;
1252 dwReadLen: LongWord): HResult;
1253begin
1254 Result := DefaultInterface.SetCompositionStringW(hIMC, dwIndex, pComp, dwCompLen, pRead, dwReadLen);
1255end;
1256
1257function TCActiveIMM.SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult;
1258begin
1259 Result := DefaultInterface.SetCompositionWindow(hIMC, pCompForm);
1260end;
1261
1262function TCActiveIMM.SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord;
1263 fdwSentence: LongWord): HResult;
1264begin
1265 Result := DefaultInterface.SetConversionStatus(hIMC, fdwConversion, fdwSentence);
1266end;
1267
1268function TCActiveIMM.SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult;
1269begin
1270 Result := DefaultInterface.SetOpenStatus(hIMC, fOpen);
1271end;
1272
1273function TCActiveIMM.SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult;
1274begin
1275 Result := DefaultInterface.SetStatusWindowPos(hIMC, pptPos);
1276end;
1277
1278function TCActiveIMM.SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult;
1279begin
1280 Result := DefaultInterface.SimulateHotKey(hWnd, dwHotKeyID);
1281end;
1282
1283function TCActiveIMM.UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord;
1284 szUnregister: PAnsiChar): HResult;
1285begin
1286 Result := DefaultInterface.UnregisterWordA(hKL, szReading, dwStyle, szUnregister);
1287end;
1288
1289function TCActiveIMM.UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord;
1290 szUnregister: PWideChar): HResult;
1291begin
1292 Result := DefaultInterface.UnregisterWordW(hKL, szReading, dwStyle, szUnregister);
1293end;
1294
1295function TCActiveIMM.Activate(fRestoreLayout: Integer): HResult;
1296begin
1297 Result := DefaultInterface.Activate(fRestoreLayout);
1298end;
1299
1300function TCActiveIMM.Deactivate: HResult;
1301begin
1302 Result := DefaultInterface.Deactivate;
1303end;
1304
1305function TCActiveIMM.OnDefWindowProc(var hWnd: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR;
1306 lParam: LONG_PTR; out plResult: LONG_PTR): HResult;
1307begin
1308 Result := DefaultInterface.OnDefWindowProc(hWnd, msg, wParam, lParam, plResult);
1309end;
1310
1311function TCActiveIMM.FilterClientWindows(var aaClassList: Word; uSize: SYSUINT): HResult;
1312begin
1313 Result := DefaultInterface.FilterClientWindows(aaClassList, uSize);
1314end;
1315
1316function TCActiveIMM.GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult;
1317begin
1318 Result := DefaultInterface.GetCodePageA(hKL, uCodePage);
1319end;
1320
1321function TCActiveIMM.GetLangId(var hKL: Pointer; out plid: Word): HResult;
1322begin
1323 Result := DefaultInterface.GetLangId(hKL, plid);
1324end;
1325
1326function TCActiveIMM.AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord;
1327 dwFlags: LongWord): HResult;
1328begin
1329 Result := DefaultInterface.AssociateContextEx(hWnd, hIMC, dwFlags);
1330end;
1331
1332function TCActiveIMM.DisableIME(idThread: LongWord): HResult;
1333begin
1334 Result := DefaultInterface.DisableIME(idThread);
1335end;
1336
1337function TCActiveIMM.GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
1338 var pImeParentMenu: IMEMENUITEMINFOA;
1339 out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord;
1340 out pdwResult: LongWord): HResult;
1341begin
1342 Result := DefaultInterface.GetImeMenuItemsA(hIMC, dwFlags, dwType, pImeParentMenu, pImeMenu,
1343 dwSize, pdwResult);
1344end;
1345
1346function TCActiveIMM.GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord;
1347 var pImeParentMenu: IMEMENUITEMINFOW;
1348 out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord;
1349 out pdwResult: LongWord): HResult;
1350begin
1351 Result := DefaultInterface.GetImeMenuItemsW(hIMC, dwFlags, dwType, pImeParentMenu, pImeMenu,
1352 dwSize, pdwResult);
1353end;
1354
1355function TCActiveIMM.EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult;
1356begin
1357 Result := DefaultInterface.EnumInputContext(idThread, ppEnum);
1358end;
1359
1360{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
1361constructor TCActiveIMMProperties.Create(AServer: TCActiveIMM);
1362begin
1363 inherited Create;
1364 FServer := AServer;
1365end;
1366
1367function TCActiveIMMProperties.GetDefaultInterface: IActiveIMMApp;
1368begin
1369 Result := FServer.DefaultInterface;
1370end;
1371
1372{$ENDIF}
1373
1374end.
Note: See TracBrowser for help on using the repository browser.