| [672] | 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 |  | 
|---|
|  | 12 | unit 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. | 
|---|
|  | 54 | interface | 
|---|
|  | 55 |  | 
|---|
|  | 56 | uses | 
|---|
|  | 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 | // *********************************************************************// | 
|---|
|  | 66 | const | 
|---|
|  | 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}'; | 
|---|
|  | 83 | type | 
|---|
|  | 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 |  | 
|---|
|  | 885 | implementation | 
|---|
|  | 886 |  | 
|---|
|  | 887 | uses | 
|---|
|  | 888 | ComObj; | 
|---|
|  | 889 |  | 
|---|
|  | 890 | class function CoCActiveIMM.Create: IActiveIMMApp; | 
|---|
|  | 891 | begin | 
|---|
|  | 892 | Result := CreateComObject(CLASS_CActiveIMM) as IActiveIMMApp; | 
|---|
|  | 893 | end; | 
|---|
|  | 894 |  | 
|---|
|  | 895 | class function CoCActiveIMM.CreateRemote(const MachineName: AnsiString): IActiveIMMApp; | 
|---|
|  | 896 | begin | 
|---|
|  | 897 | Result := CreateRemoteComObject(MachineName, CLASS_CActiveIMM) as IActiveIMMApp; | 
|---|
|  | 898 | end; | 
|---|
|  | 899 |  | 
|---|
|  | 900 | procedure TCActiveIMM.InitServerData; | 
|---|
|  | 901 | const | 
|---|
|  | 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); | 
|---|
|  | 908 | begin | 
|---|
|  | 909 | ServerData := @CServerData; | 
|---|
|  | 910 | end; | 
|---|
|  | 911 |  | 
|---|
|  | 912 | procedure TCActiveIMM.Connect; | 
|---|
|  | 913 | var | 
|---|
|  | 914 | punk: IUnknown; | 
|---|
|  | 915 | begin | 
|---|
|  | 916 | if FIntf = nil then | 
|---|
|  | 917 | begin | 
|---|
|  | 918 | punk := GetServer; | 
|---|
|  | 919 | Fintf:= punk as IActiveIMMApp; | 
|---|
|  | 920 | end; | 
|---|
|  | 921 | end; | 
|---|
|  | 922 |  | 
|---|
|  | 923 | procedure TCActiveIMM.ConnectTo(svrIntf: IActiveIMMApp); | 
|---|
|  | 924 | begin | 
|---|
|  | 925 | Disconnect; | 
|---|
|  | 926 | FIntf := svrIntf; | 
|---|
|  | 927 | end; | 
|---|
|  | 928 |  | 
|---|
|  | 929 | procedure TCActiveIMM.DisConnect; | 
|---|
|  | 930 | begin | 
|---|
|  | 931 | if Fintf <> nil then | 
|---|
|  | 932 | begin | 
|---|
|  | 933 | FIntf := nil; | 
|---|
|  | 934 | end; | 
|---|
|  | 935 | end; | 
|---|
|  | 936 |  | 
|---|
|  | 937 | function TCActiveIMM.GetDefaultInterface: IActiveIMMApp; | 
|---|
|  | 938 | begin | 
|---|
|  | 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; | 
|---|
|  | 943 | end; | 
|---|
|  | 944 |  | 
|---|
|  | 945 | constructor TCActiveIMM.Create(AOwner: TComponent); | 
|---|
|  | 946 | begin | 
|---|
|  | 947 | inherited Create(AOwner); | 
|---|
|  | 948 | {$IFDEF LIVE_SERVER_AT_DESIGN_TIME} | 
|---|
|  | 949 | FProps := TCActiveIMMProperties.Create(Self); | 
|---|
|  | 950 | {$ENDIF} | 
|---|
|  | 951 | end; | 
|---|
|  | 952 |  | 
|---|
|  | 953 | destructor TCActiveIMM.Destroy; | 
|---|
|  | 954 | begin | 
|---|
|  | 955 | {$IFDEF LIVE_SERVER_AT_DESIGN_TIME} | 
|---|
|  | 956 | FProps.Free; | 
|---|
|  | 957 | {$ENDIF} | 
|---|
|  | 958 | inherited Destroy; | 
|---|
|  | 959 | end; | 
|---|
|  | 960 |  | 
|---|
|  | 961 | {$IFDEF LIVE_SERVER_AT_DESIGN_TIME} | 
|---|
|  | 962 | function TCActiveIMM.GetServerProperties: TCActiveIMMProperties; | 
|---|
|  | 963 | begin | 
|---|
|  | 964 | Result := FProps; | 
|---|
|  | 965 | end; | 
|---|
|  | 966 | {$ENDIF} | 
|---|
|  | 967 |  | 
|---|
|  | 968 | function  TCActiveIMM.AssociateContext(var hWnd: _RemotableHandle; hIME: LongWord; | 
|---|
|  | 969 | out phPrev: LongWord): HResult; | 
|---|
|  | 970 | begin | 
|---|
|  | 971 | Result := DefaultInterface.AssociateContext(hWnd, hIME, phPrev); | 
|---|
|  | 972 | end; | 
|---|
|  | 973 |  | 
|---|
|  | 974 | function  TCActiveIMM.ConfigureIMEA(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord; | 
|---|
|  | 975 | var pData: REGISTERWORDA): HResult; | 
|---|
|  | 976 | begin | 
|---|
|  | 977 | Result := DefaultInterface.ConfigureIMEA(hKL, hWnd, dwMode, pData); | 
|---|
|  | 978 | end; | 
|---|
|  | 979 |  | 
|---|
|  | 980 | function  TCActiveIMM.ConfigureIMEW(var hKL: Pointer; var hWnd: _RemotableHandle; dwMode: LongWord; | 
|---|
|  | 981 | var pData: REGISTERWORDW): HResult; | 
|---|
|  | 982 | begin | 
|---|
|  | 983 | Result := DefaultInterface.ConfigureIMEW(hKL, hWnd, dwMode, pData); | 
|---|
|  | 984 | end; | 
|---|
|  | 985 |  | 
|---|
|  | 986 | function  TCActiveIMM.CreateContext(out phIMC: LongWord): HResult; | 
|---|
|  | 987 | begin | 
|---|
|  | 988 | Result := DefaultInterface.CreateContext(phIMC); | 
|---|
|  | 989 | end; | 
|---|
|  | 990 |  | 
|---|
|  | 991 | function  TCActiveIMM.DestroyContext(hIME: LongWord): HResult; | 
|---|
|  | 992 | begin | 
|---|
|  | 993 | Result := DefaultInterface.DestroyContext(hIME); | 
|---|
|  | 994 | end; | 
|---|
|  | 995 |  | 
|---|
|  | 996 | function  TCActiveIMM.EnumRegisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; | 
|---|
|  | 997 | szRegister: PAnsiChar; var pData: Pointer; | 
|---|
|  | 998 | out pEnum: IEnumRegisterWordA): HResult; | 
|---|
|  | 999 | begin | 
|---|
|  | 1000 | Result := DefaultInterface.EnumRegisterWordA(hKL, szReading, dwStyle, szRegister, pData, pEnum); | 
|---|
|  | 1001 | end; | 
|---|
|  | 1002 |  | 
|---|
|  | 1003 | function  TCActiveIMM.EnumRegisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord; | 
|---|
|  | 1004 | szRegister: PWideChar; var pData: Pointer; | 
|---|
|  | 1005 | out pEnum: IEnumRegisterWordW): HResult; | 
|---|
|  | 1006 | begin | 
|---|
|  | 1007 | Result := DefaultInterface.EnumRegisterWordW(hKL, szReading, dwStyle, szRegister, pData, pEnum); | 
|---|
|  | 1008 | end; | 
|---|
|  | 1009 |  | 
|---|
|  | 1010 | function  TCActiveIMM.EscapeA(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; | 
|---|
|  | 1011 | var pData: Pointer; out plResult: LONG_PTR): HResult; | 
|---|
|  | 1012 | begin | 
|---|
|  | 1013 | Result := DefaultInterface.EscapeA(hKL, hIMC, uEscape, pData, plResult); | 
|---|
|  | 1014 | end; | 
|---|
|  | 1015 |  | 
|---|
|  | 1016 | function  TCActiveIMM.EscapeW(var hKL: Pointer; hIMC: LongWord; uEscape: SYSUINT; | 
|---|
|  | 1017 | var pData: Pointer; out plResult: LONG_PTR): HResult; | 
|---|
|  | 1018 | begin | 
|---|
|  | 1019 | Result := DefaultInterface.EscapeW(hKL, hIMC, uEscape, pData, plResult); | 
|---|
|  | 1020 | end; | 
|---|
|  | 1021 |  | 
|---|
|  | 1022 | function  TCActiveIMM.GetCandidateListA(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT; | 
|---|
|  | 1023 | out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; | 
|---|
|  | 1024 | begin | 
|---|
|  | 1025 | Result := DefaultInterface.GetCandidateListA(hIMC, dwIndex, uBufLen, pCandList, puCopied); | 
|---|
|  | 1026 | end; | 
|---|
|  | 1027 |  | 
|---|
|  | 1028 | function  TCActiveIMM.GetCandidateListW(hIMC: LongWord; dwIndex: LongWord; uBufLen: SYSUINT; | 
|---|
|  | 1029 | out pCandList: CANDIDATELIST; out puCopied: SYSUINT): HResult; | 
|---|
|  | 1030 | begin | 
|---|
|  | 1031 | Result := DefaultInterface.GetCandidateListW(hIMC, dwIndex, uBufLen, pCandList, puCopied); | 
|---|
|  | 1032 | end; | 
|---|
|  | 1033 |  | 
|---|
|  | 1034 | function  TCActiveIMM.GetCandidateListCountA(hIMC: LongWord; out pdwListSize: LongWord; | 
|---|
|  | 1035 | out pdwBufLen: LongWord): HResult; | 
|---|
|  | 1036 | begin | 
|---|
|  | 1037 | Result := DefaultInterface.GetCandidateListCountA(hIMC, pdwListSize, pdwBufLen); | 
|---|
|  | 1038 | end; | 
|---|
|  | 1039 |  | 
|---|
|  | 1040 | function  TCActiveIMM.GetCandidateListCountW(hIMC: LongWord; out pdwListSize: LongWord; | 
|---|
|  | 1041 | out pdwBufLen: LongWord): HResult; | 
|---|
|  | 1042 | begin | 
|---|
|  | 1043 | Result := DefaultInterface.GetCandidateListCountW(hIMC, pdwListSize, pdwBufLen); | 
|---|
|  | 1044 | end; | 
|---|
|  | 1045 |  | 
|---|
|  | 1046 | function  TCActiveIMM.GetCandidateWindow(hIMC: LongWord; dwIndex: LongWord; | 
|---|
|  | 1047 | out pCandidate: CANDIDATEFORM): HResult; | 
|---|
|  | 1048 | begin | 
|---|
|  | 1049 | Result := DefaultInterface.GetCandidateWindow(hIMC, dwIndex, pCandidate); | 
|---|
|  | 1050 | end; | 
|---|
|  | 1051 |  | 
|---|
|  | 1052 | function  TCActiveIMM.GetCompositionFontA(hIMC: LongWord; out plf: LOGFONTA): HResult; | 
|---|
|  | 1053 | begin | 
|---|
|  | 1054 | Result := DefaultInterface.GetCompositionFontA(hIMC, plf); | 
|---|
|  | 1055 | end; | 
|---|
|  | 1056 |  | 
|---|
|  | 1057 | function  TCActiveIMM.GetCompositionFontW(hIMC: LongWord; out plf: LOGFONTW): HResult; | 
|---|
|  | 1058 | begin | 
|---|
|  | 1059 | Result := DefaultInterface.GetCompositionFontW(hIMC, plf); | 
|---|
|  | 1060 | end; | 
|---|
|  | 1061 |  | 
|---|
|  | 1062 | function  TCActiveIMM.GetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; | 
|---|
|  | 1063 | out plCopied: Integer; out pBuf: Pointer): HResult; | 
|---|
|  | 1064 | begin | 
|---|
|  | 1065 | Result := DefaultInterface.GetCompositionStringA(hIMC, dwIndex, dwBufLen, plCopied, pBuf); | 
|---|
|  | 1066 | end; | 
|---|
|  | 1067 |  | 
|---|
|  | 1068 | function  TCActiveIMM.GetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; | 
|---|
|  | 1069 | out plCopied: Integer; out pBuf: Pointer): HResult; | 
|---|
|  | 1070 | begin | 
|---|
|  | 1071 | Result := DefaultInterface.GetCompositionStringW(hIMC, dwIndex, dwBufLen, plCopied, pBuf); | 
|---|
|  | 1072 | end; | 
|---|
|  | 1073 |  | 
|---|
|  | 1074 | function  TCActiveIMM.GetCompositionWindow(hIMC: LongWord; out pCompForm: COMPOSITIONFORM): HResult; | 
|---|
|  | 1075 | begin | 
|---|
|  | 1076 | Result := DefaultInterface.GetCompositionWindow(hIMC, pCompForm); | 
|---|
|  | 1077 | end; | 
|---|
|  | 1078 |  | 
|---|
|  | 1079 | function  TCActiveIMM.GetContext(var hWnd: _RemotableHandle; out phIMC: LongWord): HResult; | 
|---|
|  | 1080 | begin | 
|---|
|  | 1081 | Result := DefaultInterface.GetContext(hWnd, phIMC); | 
|---|
|  | 1082 | end; | 
|---|
|  | 1083 |  | 
|---|
|  | 1084 | function  TCActiveIMM.GetConversionListA(var hKL: Pointer; hIMC: LongWord; pSrc: PAnsiChar; | 
|---|
|  | 1085 | uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST; | 
|---|
|  | 1086 | out puCopied: SYSUINT): HResult; | 
|---|
|  | 1087 | begin | 
|---|
|  | 1088 | Result := DefaultInterface.GetConversionListA(hKL, hIMC, pSrc, uBufLen, uFlag, pDst, puCopied); | 
|---|
|  | 1089 | end; | 
|---|
|  | 1090 |  | 
|---|
|  | 1091 | function  TCActiveIMM.GetConversionListW(var hKL: Pointer; hIMC: LongWord; pSrc: PWideChar; | 
|---|
|  | 1092 | uBufLen: SYSUINT; uFlag: SYSUINT; out pDst: CANDIDATELIST; | 
|---|
|  | 1093 | out puCopied: SYSUINT): HResult; | 
|---|
|  | 1094 | begin | 
|---|
|  | 1095 | Result := DefaultInterface.GetConversionListW(hKL, hIMC, pSrc, uBufLen, uFlag, pDst, puCopied); | 
|---|
|  | 1096 | end; | 
|---|
|  | 1097 |  | 
|---|
|  | 1098 | function  TCActiveIMM.GetConversionStatus(hIMC: LongWord; out pfdwConversion: LongWord; | 
|---|
|  | 1099 | out pfdwSentence: LongWord): HResult; | 
|---|
|  | 1100 | begin | 
|---|
|  | 1101 | Result := DefaultInterface.GetConversionStatus(hIMC, pfdwConversion, pfdwSentence); | 
|---|
|  | 1102 | end; | 
|---|
|  | 1103 |  | 
|---|
|  | 1104 | function  TCActiveIMM.GetDefaultIMEWnd(var hWnd: _RemotableHandle; out phDefWnd: wireHWND): HResult; | 
|---|
|  | 1105 | begin | 
|---|
|  | 1106 | Result := DefaultInterface.GetDefaultIMEWnd(hWnd, phDefWnd); | 
|---|
|  | 1107 | end; | 
|---|
|  | 1108 |  | 
|---|
|  | 1109 | function  TCActiveIMM.GetDescriptionA(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PAnsiChar; | 
|---|
|  | 1110 | out puCopied: SYSUINT): HResult; | 
|---|
|  | 1111 | begin | 
|---|
|  | 1112 | Result := DefaultInterface.GetDescriptionA(hKL, uBufLen, szDescription, puCopied); | 
|---|
|  | 1113 | end; | 
|---|
|  | 1114 |  | 
|---|
|  | 1115 | function  TCActiveIMM.GetDescriptionW(var hKL: Pointer; uBufLen: SYSUINT; szDescription: PWideChar; | 
|---|
|  | 1116 | out puCopied: SYSUINT): HResult; | 
|---|
|  | 1117 | begin | 
|---|
|  | 1118 | Result := DefaultInterface.GetDescriptionW(hKL, uBufLen, szDescription, puCopied); | 
|---|
|  | 1119 | end; | 
|---|
|  | 1120 |  | 
|---|
|  | 1121 | function  TCActiveIMM.GetGuideLineA(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; | 
|---|
|  | 1122 | pBuf: PAnsiChar; out pdwResult: LongWord): HResult; | 
|---|
|  | 1123 | begin | 
|---|
|  | 1124 | Result := DefaultInterface.GetGuideLineA(hIMC, dwIndex, dwBufLen, pBuf, pdwResult); | 
|---|
|  | 1125 | end; | 
|---|
|  | 1126 |  | 
|---|
|  | 1127 | function  TCActiveIMM.GetGuideLineW(hIMC: LongWord; dwIndex: LongWord; dwBufLen: LongWord; | 
|---|
|  | 1128 | pBuf: PWideChar; out pdwResult: LongWord): HResult; | 
|---|
|  | 1129 | begin | 
|---|
|  | 1130 | Result := DefaultInterface.GetGuideLineW(hIMC, dwIndex, dwBufLen, pBuf, pdwResult); | 
|---|
|  | 1131 | end; | 
|---|
|  | 1132 |  | 
|---|
|  | 1133 | function  TCActiveIMM.GetIMEFileNameA(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PAnsiChar; | 
|---|
|  | 1134 | out puCopied: SYSUINT): HResult; | 
|---|
|  | 1135 | begin | 
|---|
|  | 1136 | Result := DefaultInterface.GetIMEFileNameA(hKL, uBufLen, szFileName, puCopied); | 
|---|
|  | 1137 | end; | 
|---|
|  | 1138 |  | 
|---|
|  | 1139 | function  TCActiveIMM.GetIMEFileNameW(var hKL: Pointer; uBufLen: SYSUINT; szFileName: PWideChar; | 
|---|
|  | 1140 | out puCopied: SYSUINT): HResult; | 
|---|
|  | 1141 | begin | 
|---|
|  | 1142 | Result := DefaultInterface.GetIMEFileNameW(hKL, uBufLen, szFileName, puCopied); | 
|---|
|  | 1143 | end; | 
|---|
|  | 1144 |  | 
|---|
|  | 1145 | function  TCActiveIMM.GetOpenStatus(hIMC: LongWord): HResult; | 
|---|
|  | 1146 | begin | 
|---|
|  | 1147 | Result := DefaultInterface.GetOpenStatus(hIMC); | 
|---|
|  | 1148 | end; | 
|---|
|  | 1149 |  | 
|---|
|  | 1150 | function  TCActiveIMM.GetProperty(var hKL: Pointer; fdwIndex: LongWord; out pdwProperty: LongWord): HResult; | 
|---|
|  | 1151 | begin | 
|---|
|  | 1152 | Result := DefaultInterface.GetProperty(hKL, fdwIndex, pdwProperty); | 
|---|
|  | 1153 | end; | 
|---|
|  | 1154 |  | 
|---|
|  | 1155 | function  TCActiveIMM.GetRegisterWordStyleA(var hKL: Pointer; nItem: SYSUINT; | 
|---|
|  | 1156 | out pStyleBuf: STYLEBUFA; out puCopied: SYSUINT): HResult; | 
|---|
|  | 1157 | begin | 
|---|
|  | 1158 | Result := DefaultInterface.GetRegisterWordStyleA(hKL, nItem, pStyleBuf, puCopied); | 
|---|
|  | 1159 | end; | 
|---|
|  | 1160 |  | 
|---|
|  | 1161 | function  TCActiveIMM.GetRegisterWordStyleW(var hKL: Pointer; nItem: SYSUINT; | 
|---|
|  | 1162 | out pStyleBuf: STYLEBUFW; out puCopied: SYSUINT): HResult; | 
|---|
|  | 1163 | begin | 
|---|
|  | 1164 | Result := DefaultInterface.GetRegisterWordStyleW(hKL, nItem, pStyleBuf, puCopied); | 
|---|
|  | 1165 | end; | 
|---|
|  | 1166 |  | 
|---|
|  | 1167 | function  TCActiveIMM.GetStatusWindowPos(hIMC: LongWord; out pptPos: tagPOINT): HResult; | 
|---|
|  | 1168 | begin | 
|---|
|  | 1169 | Result := DefaultInterface.GetStatusWindowPos(hIMC, pptPos); | 
|---|
|  | 1170 | end; | 
|---|
|  | 1171 |  | 
|---|
|  | 1172 | function  TCActiveIMM.GetVirtualKey(var hWnd: _RemotableHandle; out puVirtualKey: SYSUINT): HResult; | 
|---|
|  | 1173 | begin | 
|---|
|  | 1174 | Result := DefaultInterface.GetVirtualKey(hWnd, puVirtualKey); | 
|---|
|  | 1175 | end; | 
|---|
|  | 1176 |  | 
|---|
|  | 1177 | function  TCActiveIMM.InstallIMEA(szIMEFileName: PAnsiChar; szLayoutText: PAnsiChar; out phKL: Pointer): HResult; | 
|---|
|  | 1178 | begin | 
|---|
|  | 1179 | Result := DefaultInterface.InstallIMEA(szIMEFileName, szLayoutText, phKL); | 
|---|
|  | 1180 | end; | 
|---|
|  | 1181 |  | 
|---|
|  | 1182 | function  TCActiveIMM.InstallIMEW(szIMEFileName: PWideChar; szLayoutText: PWideChar; | 
|---|
|  | 1183 | out phKL: Pointer): HResult; | 
|---|
|  | 1184 | begin | 
|---|
|  | 1185 | Result := DefaultInterface.InstallIMEW(szIMEFileName, szLayoutText, phKL); | 
|---|
|  | 1186 | end; | 
|---|
|  | 1187 |  | 
|---|
|  | 1188 | function  TCActiveIMM.IsIME(var hKL: Pointer): HResult; | 
|---|
|  | 1189 | begin | 
|---|
|  | 1190 | Result := DefaultInterface.IsIME(hKL); | 
|---|
|  | 1191 | end; | 
|---|
|  | 1192 |  | 
|---|
|  | 1193 | function  TCActiveIMM.IsUIMessageA(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR; | 
|---|
|  | 1194 | lParam: LONG_PTR): HResult; | 
|---|
|  | 1195 | begin | 
|---|
|  | 1196 | Result := DefaultInterface.IsUIMessageA(hWndIME, msg, wParam, lParam); | 
|---|
|  | 1197 | end; | 
|---|
|  | 1198 |  | 
|---|
|  | 1199 | function  TCActiveIMM.IsUIMessageW(var hWndIME: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR; | 
|---|
|  | 1200 | lParam: LONG_PTR): HResult; | 
|---|
|  | 1201 | begin | 
|---|
|  | 1202 | Result := DefaultInterface.IsUIMessageW(hWndIME, msg, wParam, lParam); | 
|---|
|  | 1203 | end; | 
|---|
|  | 1204 |  | 
|---|
|  | 1205 | function  TCActiveIMM.NotifyIME(hIMC: LongWord; dwAction: LongWord; dwIndex: LongWord; | 
|---|
|  | 1206 | dwValue: LongWord): HResult; | 
|---|
|  | 1207 | begin | 
|---|
|  | 1208 | Result := DefaultInterface.NotifyIME(hIMC, dwAction, dwIndex, dwValue); | 
|---|
|  | 1209 | end; | 
|---|
|  | 1210 |  | 
|---|
|  | 1211 | function  TCActiveIMM.REGISTERWORDA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; | 
|---|
|  | 1212 | szRegister: PAnsiChar): HResult; | 
|---|
|  | 1213 | begin | 
|---|
|  | 1214 | Result := DefaultInterface.REGISTERWORDA(hKL, szReading, dwStyle, szRegister); | 
|---|
|  | 1215 | end; | 
|---|
|  | 1216 |  | 
|---|
|  | 1217 | function  TCActiveIMM.REGISTERWORDW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord; | 
|---|
|  | 1218 | szRegister: PWideChar): HResult; | 
|---|
|  | 1219 | begin | 
|---|
|  | 1220 | Result := DefaultInterface.REGISTERWORDW(hKL, szReading, dwStyle, szRegister); | 
|---|
|  | 1221 | end; | 
|---|
|  | 1222 |  | 
|---|
|  | 1223 | function  TCActiveIMM.ReleaseContext(var hWnd: _RemotableHandle; hIMC: LongWord): HResult; | 
|---|
|  | 1224 | begin | 
|---|
|  | 1225 | Result := DefaultInterface.ReleaseContext(hWnd, hIMC); | 
|---|
|  | 1226 | end; | 
|---|
|  | 1227 |  | 
|---|
|  | 1228 | function  TCActiveIMM.SetCandidateWindow(hIMC: LongWord; var pCandidate: CANDIDATEFORM): HResult; | 
|---|
|  | 1229 | begin | 
|---|
|  | 1230 | Result := DefaultInterface.SetCandidateWindow(hIMC, pCandidate); | 
|---|
|  | 1231 | end; | 
|---|
|  | 1232 |  | 
|---|
|  | 1233 | function  TCActiveIMM.SetCompositionFontA(hIMC: LongWord; var plf: LOGFONTA): HResult; | 
|---|
|  | 1234 | begin | 
|---|
|  | 1235 | Result := DefaultInterface.SetCompositionFontA(hIMC, plf); | 
|---|
|  | 1236 | end; | 
|---|
|  | 1237 |  | 
|---|
|  | 1238 | function  TCActiveIMM.SetCompositionFontW(hIMC: LongWord; var plf: LOGFONTW): HResult; | 
|---|
|  | 1239 | begin | 
|---|
|  | 1240 | Result := DefaultInterface.SetCompositionFontW(hIMC, plf); | 
|---|
|  | 1241 | end; | 
|---|
|  | 1242 |  | 
|---|
|  | 1243 | function  TCActiveIMM.SetCompositionStringA(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer; | 
|---|
|  | 1244 | dwCompLen: LongWord; var pRead: Pointer; | 
|---|
|  | 1245 | dwReadLen: LongWord): HResult; | 
|---|
|  | 1246 | begin | 
|---|
|  | 1247 | Result := DefaultInterface.SetCompositionStringA(hIMC, dwIndex, pComp, dwCompLen, pRead, dwReadLen); | 
|---|
|  | 1248 | end; | 
|---|
|  | 1249 |  | 
|---|
|  | 1250 | function  TCActiveIMM.SetCompositionStringW(hIMC: LongWord; dwIndex: LongWord; var pComp: Pointer; | 
|---|
|  | 1251 | dwCompLen: LongWord; var pRead: Pointer; | 
|---|
|  | 1252 | dwReadLen: LongWord): HResult; | 
|---|
|  | 1253 | begin | 
|---|
|  | 1254 | Result := DefaultInterface.SetCompositionStringW(hIMC, dwIndex, pComp, dwCompLen, pRead, dwReadLen); | 
|---|
|  | 1255 | end; | 
|---|
|  | 1256 |  | 
|---|
|  | 1257 | function  TCActiveIMM.SetCompositionWindow(hIMC: LongWord; var pCompForm: COMPOSITIONFORM): HResult; | 
|---|
|  | 1258 | begin | 
|---|
|  | 1259 | Result := DefaultInterface.SetCompositionWindow(hIMC, pCompForm); | 
|---|
|  | 1260 | end; | 
|---|
|  | 1261 |  | 
|---|
|  | 1262 | function  TCActiveIMM.SetConversionStatus(hIMC: LongWord; fdwConversion: LongWord; | 
|---|
|  | 1263 | fdwSentence: LongWord): HResult; | 
|---|
|  | 1264 | begin | 
|---|
|  | 1265 | Result := DefaultInterface.SetConversionStatus(hIMC, fdwConversion, fdwSentence); | 
|---|
|  | 1266 | end; | 
|---|
|  | 1267 |  | 
|---|
|  | 1268 | function  TCActiveIMM.SetOpenStatus(hIMC: LongWord; fOpen: Integer): HResult; | 
|---|
|  | 1269 | begin | 
|---|
|  | 1270 | Result := DefaultInterface.SetOpenStatus(hIMC, fOpen); | 
|---|
|  | 1271 | end; | 
|---|
|  | 1272 |  | 
|---|
|  | 1273 | function  TCActiveIMM.SetStatusWindowPos(hIMC: LongWord; var pptPos: tagPOINT): HResult; | 
|---|
|  | 1274 | begin | 
|---|
|  | 1275 | Result := DefaultInterface.SetStatusWindowPos(hIMC, pptPos); | 
|---|
|  | 1276 | end; | 
|---|
|  | 1277 |  | 
|---|
|  | 1278 | function  TCActiveIMM.SimulateHotKey(var hWnd: _RemotableHandle; dwHotKeyID: LongWord): HResult; | 
|---|
|  | 1279 | begin | 
|---|
|  | 1280 | Result := DefaultInterface.SimulateHotKey(hWnd, dwHotKeyID); | 
|---|
|  | 1281 | end; | 
|---|
|  | 1282 |  | 
|---|
|  | 1283 | function  TCActiveIMM.UnregisterWordA(var hKL: Pointer; szReading: PAnsiChar; dwStyle: LongWord; | 
|---|
|  | 1284 | szUnregister: PAnsiChar): HResult; | 
|---|
|  | 1285 | begin | 
|---|
|  | 1286 | Result := DefaultInterface.UnregisterWordA(hKL, szReading, dwStyle, szUnregister); | 
|---|
|  | 1287 | end; | 
|---|
|  | 1288 |  | 
|---|
|  | 1289 | function  TCActiveIMM.UnregisterWordW(var hKL: Pointer; szReading: PWideChar; dwStyle: LongWord; | 
|---|
|  | 1290 | szUnregister: PWideChar): HResult; | 
|---|
|  | 1291 | begin | 
|---|
|  | 1292 | Result := DefaultInterface.UnregisterWordW(hKL, szReading, dwStyle, szUnregister); | 
|---|
|  | 1293 | end; | 
|---|
|  | 1294 |  | 
|---|
|  | 1295 | function  TCActiveIMM.Activate(fRestoreLayout: Integer): HResult; | 
|---|
|  | 1296 | begin | 
|---|
|  | 1297 | Result := DefaultInterface.Activate(fRestoreLayout); | 
|---|
|  | 1298 | end; | 
|---|
|  | 1299 |  | 
|---|
|  | 1300 | function  TCActiveIMM.Deactivate: HResult; | 
|---|
|  | 1301 | begin | 
|---|
|  | 1302 | Result := DefaultInterface.Deactivate; | 
|---|
|  | 1303 | end; | 
|---|
|  | 1304 |  | 
|---|
|  | 1305 | function  TCActiveIMM.OnDefWindowProc(var hWnd: _RemotableHandle; msg: SYSUINT; wParam: UINT_PTR; | 
|---|
|  | 1306 | lParam: LONG_PTR; out plResult: LONG_PTR): HResult; | 
|---|
|  | 1307 | begin | 
|---|
|  | 1308 | Result := DefaultInterface.OnDefWindowProc(hWnd, msg, wParam, lParam, plResult); | 
|---|
|  | 1309 | end; | 
|---|
|  | 1310 |  | 
|---|
|  | 1311 | function  TCActiveIMM.FilterClientWindows(var aaClassList: Word; uSize: SYSUINT): HResult; | 
|---|
|  | 1312 | begin | 
|---|
|  | 1313 | Result := DefaultInterface.FilterClientWindows(aaClassList, uSize); | 
|---|
|  | 1314 | end; | 
|---|
|  | 1315 |  | 
|---|
|  | 1316 | function  TCActiveIMM.GetCodePageA(var hKL: Pointer; out uCodePage: SYSUINT): HResult; | 
|---|
|  | 1317 | begin | 
|---|
|  | 1318 | Result := DefaultInterface.GetCodePageA(hKL, uCodePage); | 
|---|
|  | 1319 | end; | 
|---|
|  | 1320 |  | 
|---|
|  | 1321 | function  TCActiveIMM.GetLangId(var hKL: Pointer; out plid: Word): HResult; | 
|---|
|  | 1322 | begin | 
|---|
|  | 1323 | Result := DefaultInterface.GetLangId(hKL, plid); | 
|---|
|  | 1324 | end; | 
|---|
|  | 1325 |  | 
|---|
|  | 1326 | function  TCActiveIMM.AssociateContextEx(var hWnd: _RemotableHandle; hIMC: LongWord; | 
|---|
|  | 1327 | dwFlags: LongWord): HResult; | 
|---|
|  | 1328 | begin | 
|---|
|  | 1329 | Result := DefaultInterface.AssociateContextEx(hWnd, hIMC, dwFlags); | 
|---|
|  | 1330 | end; | 
|---|
|  | 1331 |  | 
|---|
|  | 1332 | function  TCActiveIMM.DisableIME(idThread: LongWord): HResult; | 
|---|
|  | 1333 | begin | 
|---|
|  | 1334 | Result := DefaultInterface.DisableIME(idThread); | 
|---|
|  | 1335 | end; | 
|---|
|  | 1336 |  | 
|---|
|  | 1337 | function  TCActiveIMM.GetImeMenuItemsA(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord; | 
|---|
|  | 1338 | var pImeParentMenu: IMEMENUITEMINFOA; | 
|---|
|  | 1339 | out pImeMenu: IMEMENUITEMINFOA; dwSize: LongWord; | 
|---|
|  | 1340 | out pdwResult: LongWord): HResult; | 
|---|
|  | 1341 | begin | 
|---|
|  | 1342 | Result := DefaultInterface.GetImeMenuItemsA(hIMC, dwFlags, dwType, pImeParentMenu, pImeMenu, | 
|---|
|  | 1343 | dwSize, pdwResult); | 
|---|
|  | 1344 | end; | 
|---|
|  | 1345 |  | 
|---|
|  | 1346 | function  TCActiveIMM.GetImeMenuItemsW(hIMC: LongWord; dwFlags: LongWord; dwType: LongWord; | 
|---|
|  | 1347 | var pImeParentMenu: IMEMENUITEMINFOW; | 
|---|
|  | 1348 | out pImeMenu: IMEMENUITEMINFOW; dwSize: LongWord; | 
|---|
|  | 1349 | out pdwResult: LongWord): HResult; | 
|---|
|  | 1350 | begin | 
|---|
|  | 1351 | Result := DefaultInterface.GetImeMenuItemsW(hIMC, dwFlags, dwType, pImeParentMenu, pImeMenu, | 
|---|
|  | 1352 | dwSize, pdwResult); | 
|---|
|  | 1353 | end; | 
|---|
|  | 1354 |  | 
|---|
|  | 1355 | function  TCActiveIMM.EnumInputContext(idThread: LongWord; out ppEnum: IEnumInputContext): HResult; | 
|---|
|  | 1356 | begin | 
|---|
|  | 1357 | Result := DefaultInterface.EnumInputContext(idThread, ppEnum); | 
|---|
|  | 1358 | end; | 
|---|
|  | 1359 |  | 
|---|
|  | 1360 | {$IFDEF LIVE_SERVER_AT_DESIGN_TIME} | 
|---|
|  | 1361 | constructor TCActiveIMMProperties.Create(AServer: TCActiveIMM); | 
|---|
|  | 1362 | begin | 
|---|
|  | 1363 | inherited Create; | 
|---|
|  | 1364 | FServer := AServer; | 
|---|
|  | 1365 | end; | 
|---|
|  | 1366 |  | 
|---|
|  | 1367 | function TCActiveIMMProperties.GetDefaultInterface: IActiveIMMApp; | 
|---|
|  | 1368 | begin | 
|---|
|  | 1369 | Result := FServer.DefaultInterface; | 
|---|
|  | 1370 | end; | 
|---|
|  | 1371 |  | 
|---|
|  | 1372 | {$ENDIF} | 
|---|
|  | 1373 |  | 
|---|
|  | 1374 | end. | 
|---|