//+------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992-1999. // // File: mscandui.idl // // Contents: UIM declarations. // // //-------------------------------------------------------------------------- cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// mscandui.h") cpp_quote("") cpp_quote("") cpp_quote("// UIM declarations.") cpp_quote("") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("// (C) Copyright 1995-1999 Microsoft Corporation. All Rights Reserved.") cpp_quote("//") cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF") cpp_quote("// ANY KIND, EITHER EXPRESSED OR TFPLIED, INCLUDING BUT NOT LIMITED TO") cpp_quote("// THE TFPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A") cpp_quote("// PARTICULAR PURPOSE.") cpp_quote("//=--------------------------------------------------------------------------=") cpp_quote("") cpp_quote("#ifndef MSCANDUI_DEFINED") cpp_quote("#define MSCANDUI_DEFINED") cpp_quote("") cpp_quote("#include ") cpp_quote("") import "oaidl.idl"; import "msctf.idl"; import "ctffunc.idl"; // =-------------------------------------------------------------------------= // // T Y P E D E F I N I T I O N // // =-------------------------------------------------------------------------= /* Logical Font */ #define LF_FACESIZE 32 cpp_quote( "#ifndef _WINGDI_") typedef [uuid(b02357f0-f5c7-4ffa-91f5-8c0fb8ba4256)] struct LOGFONTA { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; CHAR lfFaceName[LF_FACESIZE]; } LOGFONTA; typedef [uuid(22fe0f52-31fd-4959-9101-25f07148b7b5)] struct LOGFONTW { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; WCHAR lfFaceName[LF_FACESIZE]; } LOGFONTW; #ifdef UNICODE typedef [uuid(2d8938c1-6125-4bff-9ed9-e91479afe8b5)] LOGFONTW LOGFONT; #else typedef [uuid(41a50afb-8c61-4900-a3e1-e13b602b91bb)] LOGFONTA LOGFONT; #endif // UNICODE cpp_quote( "#endif") // // CandidateUI color type // // CANDUICOL_DEFAULT ........... default color // CANDUICOL_SYSTEM ............ system color // CANDUICOL_COLORREF .......... color ref // typedef [uuid(73636d07-a343-4875-82dd-da74bc27c70b)] enum { CANDUICOL_DEFAULT = 0, CANDUICOL_SYSTEM = 1, CANDUICOL_COLORREF = 2 } CANDUICOLORTYPE; // // CandidateUI color // // type ........................ color type // nIndex ...................... system color index // (CANDUICOL_SYSTEM) // cr .......................... color ref // (CANDUICOL_COLORREF) // typedef [uuid(a39152b2-8124-484c-a313-985a799ed78b)] struct CANDUICOLOR { CANDUICOLORTYPE type; [switch_type(CANDUICOLORTYPE), switch_is(type)] union { [case(CANDUICOL_SYSTEM)] int nIndex; [case(CANDUICOL_COLORREF)] COLORREF cr; }; } CANDUICOLOR; // // CandidateUI raw data type // // CANDUIRDT_STRING ............ string data // CANDUIRDT_BITMAP ............ bitmap data // CANDUIRDT_METAFILE .......... enhanced-format metafile data // typedef [uuid(e918b745-7267-4849-bf67-4206ffdef009)] enum { CANDUIRDT_STRING = 0, CANDUIRDT_BITMAP = 1, CANDUIRDT_METAFILE = 2, } CANDUIRAWDATATYPE; // // CandidateUI raw data information // // type ........................ raw data type // bstr ........................ string data // (CANDUIRDT_STRING) // hbmp ........................ bitmap data // (CANDUIRDT_BITMAP) // hemf ........................ enhanced-format metafile data // (CANDUIRDT_METAFILE) // typedef [uuid(530658a8-9297-4098-acdd-4e3980badf73)] struct CANDUIRAWDATA { CANDUIRAWDATATYPE type; [switch_type(CANDUIRAWDATATYPE), switch_is(type)] union { [case(CANDUIRDT_STRING)] BSTR bstr; [case(CANDUIRDT_BITMAP)] HBITMAP hbmp; [case(CANDUIRDT_METAFILE)] HENHMETAFILE hemf; }; } CANDUIRAWDATA; // // CandidateUI UI direction // // CANDUIDIR_TOPTOBOTTOM ........ Horizontal list - top to bottom // CANDUIDIR_BOTTOMTOTOP ........ Horizontal list - bottom to top // CANDUIDIR_RIGHTTOLEFT ........ Vertical list - right to left // CANDUIDIR_LEFTTORIGHT ........ Vertical list - left to right // typedef [uuid(296fd808-e8e1-4f70-8440-5fe312c8c0c8)] enum { CANDUIDIR_TOPTOBOTTOM = 0, CANDUIDIR_RIGHTTOLEFT = 1, CANDUIDIR_BOTTOMTOTOP = 2, CANDUIDIR_LEFTTORIGHT = 3 } CANDUIUIDIRECTION; // // CandidateUI UI style // // CANDUISTY_LIST .............. apply vertical listbox style to CandidateUI. // (KK style) // CANDUISTY_ROW ............... apply horizontal row style to CandidateUI. // (CHS style) // typedef [uuid(b382f954-0602-4865-90b8-379f361c157c)] enum { CANDUISTY_LIST = 0, CANDUISTY_ROW = 1, } CANDUISTYLE; // // CandidateUI UI option // // CANDUIOPT_ENABLETHEME ....... enable rendaering with theme API // const DWORD CANDUIOPT_ENABLETHEME = 0x00000001; // // CandidateUI command // // Command ID Command Parameter of command // --------------------------------------------------------------------------------------------- // CANDUICMD_NONE .............. none (invalid) n/a (must be 0) // CANDUICMD_NOP ............... no operation n/a (must be 0) // CANDUICMD_COMPLETE .......... complete w/ current selection n/a (must be 0) // CANDUICMD_CANCEL ............ cancel n/a (must be 0) // CANDUICMD_SELECTITEM ........ select item candidate string index // CANDUICMD_SELECTLINE ........ select n-th line line numder (valid:1-9) // CANDUICMD_MOVESELNEXT ....... move selection to next item n/a (must be 0) // CANDUICMD_MOVESELPREV ....... move selection to previous item n/a (must be 0) // CANDUICMD_MOVESELNEXTPG ..... move selection to next page n/a (must be 0) // CANDUICMD_MOVESELPREVPG ..... move selection to previous page n/a (must be 0) // CANDUICMD_MOVESELFIRST ...... move selection to first item n/a (must be 0) // CANDUICMD_MOVESELLAST ....... move selection to last item n/a (must be 0) // CANDUICMD_MOVESELUP ......... move selection up (dir) n/a (must be 0) // CANDUICMD_MOVESELDOWN ....... move selection down (dir) n/a (must be 0) // CANDUICMD_MOVESELLEFT ....... move selection left (dir) n/a (must be 0) // CANDUICMD_MOVESELRIGHT ...... move selection right (dir) n/a (must be 0) // CANDUICMD_OPENCANDMENU ...... open candidate menu n/a (must be 0) // CANDUICMD_SELECTRAWDATA ..... select rawdata (if exist) n/a (must be 0) // CANDUICMD_SELECTEXTRACAND ... select extra candidate (if exist) n/a (must be 0) // typedef [uuid(86ca05b3-7976-4eb5-a293-6e896e200cc6)] enum { CANDUICMD_NONE = (-1), CANDUICMD_NOP = 0, CANDUICMD_COMPLETE = 1, CANDUICMD_CANCEL = 2, CANDUICMD_SELECTITEM = 3, CANDUICMD_SELECTLINE = 4, CANDUICMD_MOVESELNEXT = 5, CANDUICMD_MOVESELPREV = 6, CANDUICMD_MOVESELNEXTPG = 7, CANDUICMD_MOVESELPREVPG = 8, CANDUICMD_MOVESELFIRST = 9, CANDUICMD_MOVESELLAST = 10, CANDUICMD_MOVESELUP = 11, CANDUICMD_MOVESELDOWN = 12, CANDUICMD_MOVESELLEFT = 13, CANDUICMD_MOVESELRIGHT = 14, CANDUICMD_OPENCANDMENU = 15, CANDUICMD_SELECTRAWDATA = 16, CANDUICMD_SELECTEXTRACAND = 17, } CANDUICOMMAND; // // CandidateUI key data flag // // CANDUIKEY_VKEY .............. key is defined in VKey // CANDUIKEY_SHIFT ............. key has combination with shift key // CANDUIKEY_NOSHIFT ........... key has no combination with shift key // CANDUIKEY_CTRL .............. key has combination with ctrl key // CANDUIKEY_NOCTRL ............ key has no combination with ctrl key // CANDUIKEY_RELATIVEDIR ....... key direction is relative on UI direction // (will be rotated automatically) // CANDUIKEY_CHAR .............. key is defined in character // // * if both of CANDUIKEY_SHIFT and CANDUIKEY_NOSHIFT is specified, // key doesn't matter about shift key state. // * if both of CANDUIKEY_CTRL and CANDUIKEY_NOCTRL is specified, // key doesn't matter about ctrl key state. // const DWORD CANDUIKEY_VKEY = 0x00000000; const DWORD CANDUIKEY_SHIFT = 0x00000001; const DWORD CANDUIKEY_NOSHIFT = 0x00000002; const DWORD CANDUIKEY_CTRL = 0x00000004; const DWORD CANDUIKEY_NOCTRL = 0x00000008; const DWORD CANDUIKEY_RELATIVEDIR = 0x00000010; const DWORD CANDUIKEY_CHAR = 0xFFFFFFFF; // // CandidateUI key data // // dwFlag ...................... key data flag // uiKey ....................... key // cmd ......................... CandidateUI command // uiParam ..................... command paramater // typedef [uuid(ffa2c2aa-bbbc-45ca-b3c6-39823e92296a)] struct CANDUIKEYDATA { DWORD dwFlag; UINT uiKey; CANDUICOMMAND cmd; UINT uiParam; } CANDUIKEYDATA; // // CandidateUI filtering string type // // CANDUIFST_COMPLETE ........... whole candidate string of filtering // result (= determined + undetermined) // CANDUIFST_DETERMINED ......... string that user typed // CANDUIFST_UNDETERMINED ....... string that probably coming after // the string user typed // typedef [uuid(b164a6e5-fd2c-4fb6-b31d-086fa6da183d)] enum { CANDUIFST_COMPLETE = 0, CANDUIFST_DETERMINED = 1, CANDUIFST_UNDETERMINED = 2 } CANDUIFILTERSTR; // // CandidateUI filtering event // // CANDUIFEV_ENABLED ............ start filtering mode // CANDUIFEV_DISABLED ........... end filtering mode // CANDUIFEV_UPDATED ............ filtering string has been updated // CANDUIFEV_ADDCHARTOFILTER..... Ask the client if it wants to handle this character // when this char is going to add to filter string. // typedef [uuid(971c2ef2-fa8a-4423-831f-da979c52ddd4)] enum { CANDUIFEV_ENABLED = 0, CANDUIFEV_DISABLED = 1, CANDUIFEV_UPDATED = 2, CANDUIFEV_NONMATCH = 3 } CANDUIFILTEREVENT; // // CandidateUI sort event // // CANDUISEV_SORTED ............. candidate list has sorted // CANDUISEV_RESTORED ........... candidate list has restored (unsorted) // typedef [uuid(b5f63c6a-d188-4f7b-a9fd-a15c738912fd)] enum { CANDUISEV_SORTED = 0, CANDUISEV_RESTORED = 1, } CANDUISORTEVENT; // // CandidateUI string extra info flag // // CANDUISTR_HASINLINECOMMENT ... candidate string has inline comment // CANDUISTR_HASPOPUPCOMMENT .... candidate string has popup comment // CANDUISTR_HASCOLOR ........... candidate string has color // CANDUISTR_HASFIXTURE ......... candidate string has prefix/suffix string // CANDUISTR_HASICON ............ candidate string has icon // const DWORD CANDUISTR_HASINLINECOMMENT = 0x00000001; const DWORD CANDUISTR_HASPOPUPCOMMENT = 0x00000002; const DWORD CANDUISTR_HASCOLOR = 0x00000004; const DWORD CANDUISTR_HASFIXTURE = 0x00000008; const DWORD CANDUISTR_HASICON = 0x00000010; // =-------------------------------------------------------------------------= // // I N T E R F A C E D E F I N I T I O N // // =-------------------------------------------------------------------------= // // ITfCandidateStringFlag // - candidate string extra info : flag // - implemented by TIPs // [ object, uuid(91114c09-1fb3-4771-9701-74fd18e1309a), pointer_default(unique) ] interface ITfCandidateStringFlag : IUnknown { // // ITfCandidateStringFlag method // - get flag of candidate string extra info // HRESULT GetFlag([out] DWORD *pdwFlag); }; // // ITfCandidateStringInlineComment // - candidate string extra info : inline comment // - implemented by TIPs [ object, uuid(a55119cc-fed4-49de-85b2-b6b55f26b00f), pointer_default(unique) ] interface ITfCandidateStringInlineComment : IUnknown { // // GetInlineCommentString method // - get inline comment string // HRESULT GetInlineCommentString([out] BSTR *pbstr); }; // // ITfCandidateStringPopupComment // - candidate string extra info : popup comment // - implemented by TIPs [ object, uuid(66d2ab70-d46c-4543-a4a9-c68b00b43b4c), pointer_default(unique) ] interface ITfCandidateStringPopupComment : IUnknown { // // GetPopupCommentString method // - get popup comment string // HRESULT GetPopupCommentString([out] BSTR *pbstr); // // GetPopupCommentGroupID method // - get popup comment group ID // HRESULT GetPopupCommentGroupID([out] DWORD *pdwGroupID); }; // // ITfCandidateStringColor // - candidate string extra info : color // - implemented by TIPs [ object, uuid(43fb8eee-ff1c-42a1-810c-77201df6717e), pointer_default(unique) ] interface ITfCandidateStringColor : IUnknown { // // GetColor method // - get candidate item color // HRESULT GetColor([out] CANDUICOLOR *pcol); }; // // ITfCandidateStringFixture // - candidate string extra info : fixture // - implemented by TIPs [ object, uuid(b85c0208-4fec-418c-85d0-c62ad29a092b), pointer_default(unique) ] interface ITfCandidateStringFixture : IUnknown { // // GetPrefixString method // - get prefix string // HRESULT GetPrefixString([out] BSTR *pbstr); // // GetSuffixString method // - get suffix string // HRESULT GetSuffixString([out] BSTR *pbstr); }; // // ITfCandidateStringIcon // - candidate string extra info : icon // - implemented by TIPs [ object, uuid(46275059-c606-41b0-aac8-c8aa48b82998), pointer_default(unique) ] interface ITfCandidateStringIcon : IUnknown { // // GetIcon method // - get icon of candidate item // HRESULT GetIcon([out] HICON *phIcon); }; // // ITfCandidateListRawData // - candidate list extra info : raw data // - implemented by TIPs // [ object, uuid(cdd01281-8228-45a0-9b55-cc44c2a2a091), pointer_default(unique) ] interface ITfCandidateListRawData : IUnknown { // // GetRawData method // - get raw data about candidate list // HRESULT GetRawData([out] CANDUIRAWDATA *prd); // // GetRawDataIndex method // - get index of candidate list raw data // HRESULT GetRawDataIndex([out] ULONG *pnIndex); }; // // ITfCandidateListExtraCandidate // - candidate list extra info : extra candidate string // - implemented by TIPs // [ object, uuid(85bbeeb5-ba64-411e-abb3-ed379275fab4), pointer_default(unique) ] interface ITfCandidateListExtraCandidate : IUnknown { // // GetExtraCandidate method // - get extra candidate item // HRESULT GetExtraCandidate([out] ITfCandidateString **ppCand); }; // // ITfOptionsCandidateList // [ object, uuid(605133F7-758D-42fc-A3FE-10146A7D52F9), pointer_default(unique) ] interface ITfOptionsCandidateList : IUnknown { HRESULT EnumOptionsCandidates([out] IEnumTfCandidates **ppEnum); HRESULT GetOptionsCandidate([in] ULONG nIndex, [out] ITfCandidateString **ppCand); HRESULT GetOptionsCandidateNum([out] ULONG *pnCnt); HRESULT SetOptionsResult([in] ULONG nIndex, [in] TfCandidateResult imcr); } // // ITfCandidateListTip // - candidate list extra info : extra candidate string // - implemented by TIPs // [ object, uuid(c28a9c90-16b1-4064-a190-0b9e5f592539), pointer_default(unique) ] interface ITfCandidateListTip : IUnknown { // // GetTipString method // - get candidate list tip string // HRESULT GetTipString([out] BSTR *pbstr); }; // // ITfCandUIKeyTable // - candidate ui keyboard command table // - Implemented by TIPs and MSCANDUI.DLL // [ object, uuid(4f9d0bca-c834-4a46-8def-b7544671d602), pointer_default(unique) ] interface ITfCandUIKeyTable : IUnknown { // // GetKeyDataNum method // - get number of keydata // HRESULT GetKeyDataNum([out] int *pnCnt); // // GetKeyData method // - get keydata // HRESULT GetKeyData([in] int iKeyData, [out] CANDUIKEYDATA *pKeyData); }; // // ITfCandUIMenuExtension // - CandidateUI menu extension // - Implemented by MSCANDUI.DLL // [ object, uuid(6875610e-8912-44c6-bcab-48c6cff915e3), pointer_default(unique) ] interface ITfCandUIMenuExtension : IUnknown { // // SetFont method // - set font of menu // HRESULT SetFont([in] LOGFONTW *pLogFont); // // GetFont method // - get font of menu // HRESULT GetFont([out] LOGFONTW *pLogFont); }; // // ITfCandUIMenuEventSink // - callback functions for candidate menu events. // - Implemented by TIPs. // [ object, uuid(944f237e-f03b-4bb9-b8f3-7afa51582d1a), pointer_default(unique) ] interface ITfCandUIMenuEventSink : IUnknown { // // InitMenu method // - callback to initialize candidate menu // HRESULT InitMenu([in] ITfMenu *pMenu); // // OnMenuCommand method // - callback on menu command event // HRESULT OnMenuCommand([in] UINT uiCmd); }; // // ITfCandUIAutoFilterEventSink // - callback functions for auto filter events // - Implemented by TIPs. // [ object, uuid(28ae3d7b-c38f-4efa-aedb-f8cacc1b7422), pointer_default(unique) ] interface ITfCandUIAutoFilterEventSink : IUnknown { // // OnFilterEvent method // - callback on filter event // HRESULT OnFilterEvent([in] CANDUIFILTEREVENT ev); }; // // ITfCandUISortEventSink // - callback functions for sort events. // - Implemented by TIPs. // [ object, uuid(212d4632-58aa-433e-9aea-67a2efe70cb9), pointer_default(unique) ] interface ITfCandUISortEventSink : IUnknown { // // OnSortEvent method // - callback on sort event // HRESULT OnSortEvent([in] CANDUISORTEVENT ev); // // CompareItem method // - compare item procedure for custom sorting // HRESULT CompareItem([in] ITfCandidateString *pCand1, [in] ITfCandidateString *pCand2, [out] LONG *plResult); }; // // ITfCandUIExtButtonEventSink // - callback functions for button extension events. // - Implemented by TIPs. // [ object, uuid(5c0fb534-1c7e-48c2-908f-008566c1cbb0), pointer_default(unique) ] interface ITfCandUIExtButtonEventSink : IUnknown { // // OnButtonPressed method // - callback on button event // HRESULT OnButtonPushed([in] LONG id); }; // // ITfCandUIFnAutoFilter // - CandidateUI function : auto filtering // - Implemented by MSCANDUI.DLL // [ object, uuid(499394ab-67c3-48a5-a45c-5080509e0ffb), pointer_default(unique) ] interface ITfCandUIFnAutoFilter : IUnknown { // // Advise method // - advise eventsink for auto filtering // HRESULT Advise([in] ITfCandUIAutoFilterEventSink *pSink); // // Disable method // - unadvise eventsink for auto filtering // HRESULT Unadvise(); // // Enable method // - enable/disable auto filtering // HRESULT Enable([in] BOOL fEnable); // // GetFilteringString method // - get string of filtering // - must be in filtering mode // HRESULT GetFilteringString([in] CANDUIFILTERSTR strtype, [out] BSTR *pbstr); }; // // ITfCandUIFnSort // - CandidateUI function : sort // - Implemented by MSCANDUI.DLL // [ object, uuid(db7495f7-bc6c-420c-a49d-7470e41b1a41), pointer_default(unique) ] interface ITfCandUIFnSort : IUnknown { // // Advise method // - advise eventsink for sorting // HRESULT Advise([in] ITfCandUISortEventSink *pSink); // // Disable method // - unadvise eventsink for sorting // HRESULT Unadvise(); // // SortCandidateList method // - sort candidate list // HRESULT SortCandidateList([in] BOOL fSort); // // IsCandidateListSorted method // - get sort status // HRESULT IsCandidateListSorted([out] BOOL *pfSorted); }; // // ITfCandUIFnKeyConfig // - CandidateUI function : key configuration // - Implemented by MSCANDUI.DLL // [ object, uuid(2ccde6d6-6e0a-4231-9496-ce0da8aaa22b), pointer_default(unique) ] interface ITfCandUIFnKeyConfig : IUnknown { // // SetKeyTable method // - set key table in candidate UI // HRESULT SetKeyTable([in] ITfContext *pic, [in]ITfCandUIKeyTable *pCandUIKeyTable); // // GetKeyTable method // - get key table in candidate UI // HRESULT GetKeyTable([in] ITfContext *pic, [out]ITfCandUIKeyTable **ppCandUIKeyTable); // // ResetKeyTable method // - reset key table in candidate UI // HRESULT ResetKeyTable([in] ITfContext *pic); }; // // ITfCandUIFnUIConfig // - CandidateUI function : UI stlyle configuration // - Implemented by MSCANDUI.DLL // [ object, uuid(1037334c-8422-4c73-b854-f1a4616169d7), pointer_default(unique) ] interface ITfCandUIFnUIConfig : IUnknown { // // SetUIStyle method // - set the ui style of CandidateUI // HRESULT SetUIStyle([in] ITfContext *pic, [in] CANDUISTYLE style); // // GetUIStyle method // - get the ui style of CandidateUI // HRESULT GetUIStyle([in] ITfContext *pic, [out] CANDUISTYLE *pstyle); // // SetUIOption method // - set the ui option of CandidateUI // HRESULT SetUIOption([in] ITfContext *pic, [in] DWORD dwOption); // // GetUIOption method // - get the ui option of CandidateUI // HRESULT GetUIOption([in] ITfContext *pic, [out] DWORD *pdwOption); }; // // ITfCandUIFnExtension // - CandidateUI function : extension manager // - Implemented by MSCANDUI.DLL // [ object, uuid(c441b720-c7a0-4823-a257-8c3cd7bf14ba), pointer_default(unique) ] interface ITfCandUIFnExtension : IUnknown { // // AddExtObject // - add extension object // HRESULT AddExtObject([in] LONG id, [in] REFIID riid, [out] IUnknown **ppunk); // // GetExtObject method // - get extension object // HRESULT GetExtObject([in] LONG id, [in] REFIID riid, [out] IUnknown **ppunk); // // DeleteExtObject method // - delete extension object // HRESULT DeleteExtObject([in] LONG id); }; // // ITfCandUIObject // - CandidateUI UI object : base interface // - Implemented by MSCANDUI.DLL // [ object, uuid(c45d5b93-f651-41f0-ac45-13252f35bfdc), pointer_default(unique) ] interface ITfCandUIObject : IUnknown { // // Enable method // - enable/disable object // HRESULT Enable([in] BOOL fEnable); // // IsEnabled method // - get enable status of object // HRESULT IsEnabled([out] BOOL *pfEnabled); // // Show method // - show/hide object // HRESULT Show([in] BOOL fShow); // // IsVisible method // - get visible status of object // HRESULT IsVisible([out] BOOL *pfVisible); // // SetPosition method // - set position of object // HRESULT SetPosition([in] POINT *pptPos); // // GetPosition method // - get position of object // HRESULT GetPosition([out] POINT *pptPos); // // SetSize method // - set size of object // HRESULT SetSize([in] SIZE *psize); // // GetSize method // - get size of object // HRESULT GetSize([out] SIZE *psize); // // SetFont method // - set font of object // HRESULT SetFont([in] LOGFONTW *pLogFont); // // GetFont method // - get font of object // HRESULT GetFont([out] LOGFONTW *pLogFont); // // SetText method // - set text of object // HRESULT SetText([in] BSTR bstr); // // GetText method // - get text of object // HRESULT GetText([out] BSTR *pbtr); // // SetToolTipString method // - set tooltip string of object // HRESULT SetToolTipString([in] BSTR bstr); // // GetToolTipString method // - get tooltip string of object // HRESULT GetToolTipString([out] BSTR *pbtr); }; // // ITfCandUICandWindow // - CandidateUI UI object : candidate window // - Implemented by MSCANDUI.DLL // [ object, uuid(483324b6-c1a8-4a48-a543-c4f26fd32a29), pointer_default(unique) ] interface ITfCandUICandWindow : ITfCandUIObject { // // GetWindow method // - get window handle of candidate window // HRESULT GetWindow([out] HWND *phWnd); // // SetUIDirection method // - set UI direction // HRESULT SetUIDirection([in] CANDUIUIDIRECTION UIDir); // // GetUIDirection method // - get UI direction // HRESULT GetUIDirection([out] CANDUIUIDIRECTION *pUIDir); // // EnableAutoMove method // - enable auto moving candidate window on layout update // HRESULT EnableAutoMove([in] BOOL fEnable); // // EnableAutoMove method // - getenable status of auto moving // HRESULT IsAutoMoveEnabled([out] BOOL *pfEnabled); }; // // ITfCandUIPopupCommentWindow // - CandidateUI UI object : popup comment window // - Implemented by MSCANDUI.DLL // [ object, uuid(6ec789d1-7e81-4ecf-b726-f944c69e9987), pointer_default(unique) ] interface ITfCandUIPopupCommentWindow : ITfCandUIObject { // // GetWindow method // - get window handle of candidate window // HRESULT GetWindow([out] HWND *phWnd); // // SetDelayTime method // - set delaytime to popup window appeares in milliseconds // - set lTime to -1 to return the delay time to default value // HRESULT SetDelayTime([in] LONG lTime); // // GetDelayTime method // - get delaytime to popup window appeares in milliseconds // HRESULT GetDelayTime([in] LONG *plTime); // // EnableAutoMove method // - enable auto moving candidate window on layout update // HRESULT EnableAutoMove([in] BOOL fEnable); // // EnableAutoMove method // - getenable status of auto moving // HRESULT IsAutoMoveEnabled([out] BOOL *pfEnabled); }; // // ITfCandUICandTipWindow // - CandidateUI UI object : candidate tip window // - Implemented by MSCANDUI.DLL // [ object, uuid(2650d06e-6ee7-40bb-989f-73ee917e00ce), pointer_default(unique) ] interface ITfCandUICandTipWindow : ITfCandUIObject { // // GetWindow method // - get window handle of candidate window // HRESULT GetWindow([out] HWND *phWnd); }; // // ITfCandUICandListBox // - CandidateUI UI object : candidate list box // - Implemented by MSCANDUI.DLL // [ object, uuid(81defe18-4363-4e9f-a0e4-205bf3d2159e), pointer_default(unique) ] interface ITfCandUICandListBox : ITfCandUIObject { // // SetHeight method // - set candidate list height (in lines) // - valid 1 through 9 for fixed candidate list lines and -1 for auto (default=-1) // - succees while CandidateUI is not opened // HRESULT SetHeight([in] LONG lLines); // // GetHeight method // - get candidate list height (in lines) // HRESULT GetHeight([out] LONG *plLines); // // GetCandidateStringRect // - get candidate string position in screen coodinate // - return null rectangle if candidate string is not visible // HRESULT GetCandidateStringRect([in] ULONG nIndex, [out] RECT *prc); }; // // ITfCandUIMenuButton // - CandidateUI UI object : menu button // - Implemented by MSCANDUI.DLL // [ object, uuid(77d031f3-87e5-458d-999c-237d9ae4d897), pointer_default(unique) ] interface ITfCandUIMenuButton : ITfCandUIObject { // // Advise method // - advise eventsink for candidate menu // HRESULT Advise([in] ITfCandUIMenuEventSink *pSink); // // Disable method // - unadvise eventsink for candidate menu // HRESULT Unadvise(); }; // // ITfCandUICaption // - CandidateUI UI object : caption // - Implemented by MSCANDUI.DLL // [ object, uuid(7243c0cd-474a-4b71-99a7-f88428e04a57), pointer_default(unique) ] interface ITfCandUICaption : ITfCandUIObject { }; // // ITfCandUIExtraCandidate // - CandidateUI UI object : extra candidate // - Implemented by MSCANDUI.DLL // [ object, uuid(f6510bb9-f697-43d1-a5e2-eff290d00dfc), pointer_default(unique) ] interface ITfCandUIExtraCandidate : ITfCandUIObject { }; // // ITfCandUIRawData // - CandidateUI UI object : rawdata // - Implemented by MSCANDUI.DLL // [ object, uuid(afd12370-d6c3-4e9e-a625-88bdfbef7b2f), pointer_default(unique) ] interface ITfCandUIRawData : ITfCandUIObject { }; // // ITfCandUICandTipButton // - CandidateUI UI object : candidate tip button // - Implemented by MSCANDUI.DLL // [ object, uuid(b32ec07e-6b08-4ad9-b363-e96e2a060330), pointer_default(unique) ] interface ITfCandUICandTipButton : ITfCandUIObject { }; // // ITfCandUICandString // - CandidateUI UI object : candidate string // - Implemented by MSCANDUI.DLL // [ object, uuid(c9e79120-83c5-438e-9927-43008db6c99a), pointer_default(unique) ] interface ITfCandUICandString : ITfCandUIObject { }; // // ITfCandUICandIndex // - CandidateUI UI object : candidate index // - Implemented by MSCANDUI.DLL // [ object, uuid(fc0c7cc9-b065-4d8c-b37d-ee470835a486), pointer_default(unique) ] interface ITfCandUICandIndex : ITfCandUIObject { }; // // ITfCandUIInlineComment // - CandidateUI UI object : inline comment // - Implemented by MSCANDUI.DLL // [ object, uuid(d4b1e0a2-aaf7-44f4-adf9-818b207bcf39), pointer_default(unique) ] interface ITfCandUIInlineComment : ITfCandUIObject { }; // // ITfCandUIToolTip // - CandidateUI UI object : tooltip // - Implemented by MSCANDUI.DLL // [ object, uuid(8b5ec727-f645-4651-a318-6a4e2ed69666), pointer_default(unique) ] interface ITfCandUIToolTip : ITfCandUIObject { }; // // ITfCandUIPopupCommentTitle // - CandidateUI UI object : popup comment title // - Implemented by MSCANDUI.DLL // [ object, uuid(cb21bc71-1974-4fb6-a9b0-f5bcc8f3c44b), pointer_default(unique) ] interface ITfCandUIPopupCommentTitle : ITfCandUIObject { }; // // ITfCandUIPopupCommentText // - CandidateUI UI object : popup comment text // - Implemented by MSCANDUI.DLL // [ object, uuid(5770e84b-0b59-462d-8836-d70bbc8c8767), pointer_default(unique) ] interface ITfCandUIPopupCommentText : ITfCandUIObject { }; // // ITfCandUIExtObject // - CandidateUI extension object : base interface // - implemented by MSCANDUI.DLL // [ object, uuid(8cf2f281-9add-4021-9a0d-62c0e11bc384), pointer_default(unique) ] interface ITfCandUIExtObject : ITfCandUIObject { // // GetID method // - get identifier of the extension object // HRESULT GetID([out] LONG *pid); }; // // ITfCandUIExtSpace // - CandidateUI extension object : space // - implemented by MSCANDUI.DLL // [ object, uuid(1fc2fb39-99fb-4cc4-9f6f-7ff31fe9f1a2), pointer_default(unique) ] interface ITfCandUIExtSpace : ITfCandUIExtObject { }; // // ITfCandUIExtPushButton // - CandidateUI extension object : push button // - implemented by MSCANDUI.DLL // [ object, uuid(4466c342-4fd6-43e4-8d23-34f443ef2d01), pointer_default(unique) ] interface ITfCandUIExtPushButton : ITfCandUIExtObject { // // Advise method // - advise eventsink for button extension // HRESULT Advise([in] ITfCandUIExtButtonEventSink *pSink); // // Unadvise method // - unadvise eventsink for button extension // HRESULT Unadvise(); // // SetIcon method // - set the face icon of the button // - note: icon and bitmap cannot be exist at same time on a button face. // (the last set one will be displayed) // HRESULT SetIcon([in] HICON hIcon); // // SetBitmap method // - set the face bitmap of the button // - note: icon and bitmap cannot be exist at same time on a button face. // (the last set one will be displayed) // HRESULT SetBitmap([in] HBITMAP hBitmap); }; // // ITfCandUIExtToggleButton // - CandidateUI extension object : toggle button // - implemented by MSCANDUI.DLL // [ object, uuid(c16a174a-5628-4050-8dfe-0d82e7265ba1), pointer_default(unique) ] interface ITfCandUIExtToggleButton : ITfCandUIExtObject { // // Advise method // - advise eventsink for button extension // HRESULT Advise([in] ITfCandUIExtButtonEventSink *pSink); // // Unadvise method // - unadvise eventsink for button extension // HRESULT Unadvise(); // // SetIcon method // - set the face icon of the button // - note: icon and bitmap cannot be exist at same time on a button face. // (the last set one will be displayed) // HRESULT SetIcon([in] HICON hIcon); // // SetBitmap method // - set the face bitmap of the button // - note: icon and bitmap cannot be exist at same time on a button face. // (the last set one will be displayed) // HRESULT SetBitmap([in] HBITMAP hBitmap); // // SetToggleState method // - set the status of toggle button // HRESULT SetToggleState([in] BOOL fToggle); // // GetToggleState method // - get the status of toggle button // returns TRUE when the toggle button is toggled (i.e. pushed down), // otherwise FALSE. // HRESULT GetToggleState([out] BOOL *pfToggled); }; // // ITfCandidateUIContextOwner // - CandidateUI context infomation // - implemented by MSCANDUI.DLL // [ object, uuid(9fa4580f-cf50-43f4-af09-5e8cabe372c2), pointer_default(unique) ] interface ITfCandidateUIContextOwner : IUnknown { // // ProcessCommand method // - let CandidateUI which own the context process command // HRESULT ProcessCommand([in] CANDUICOMMAND cmd, [in] INT iParam); // // TestText method // - test if the text can be handled by CandidateUI which own the context. // HRESULT TestText([in] BSTR bstr, [out] BOOL *pfHandles); }; // // ITfCandidateUI // - this interface provide the MS shared candidate UI // - implemented by MSCANDUI.DLL // [ object, uuid(e45f7b70-a4c3-48cd-8edd-3e784a8f5eae), pointer_default(unique) ] interface ITfCandidateUI : IUnknown { // // SetClientId method // - set a new TfClientId // HRESULT SetClientId([in] TfClientId tid); // // OpenCandidateUI method // - open the candidate UI based on the given candidate list // HRESULT OpenCandidateUI([in] HWND hWnd, [in] ITfDocumentMgr *pdim, [in] TfEditCookie ec, [in] ITfRange *pRange); // // CloseCandidateUI method // - close the candidate UI // HRESULT CloseCandidateUI(); // // SetCandidateList method // - set candidate list to be displayed in the list of candidate UI window. // HRESULT SetCandidateList([in] ITfCandidateList *pCandList); // // SetSelection method // - set selection // HRESULT SetSelection([in] ULONG nIndex); // // GetSelection method // - get index of current selected candidate item // HRESULT GetSelection([out] ULONG *pnIndex); // // SetTargetRange method // - set target range // HRESULT SetTargetRange([in] ITfRange *pRange); // // GetTargetRange method // - get the target range // HRESULT GetTargetRange([out] ITfRange **ppRange); // // GetUIObject method // - get CandidateUI objects // HRESULT GetUIObject([in] REFIID riid, [out] IUnknown **ppunk); // // GetFunction method // - get CandidateUI function // HRESULT GetFunction([in] REFIID riid, [out] IUnknown **ppunk); // // ProcessCommand method // - process candidate UI command // HRESULT ProcessCommand([in] CANDUICOMMAND cmd, [in] INT iParam); }; // =-------------------------------------------------------------------------= // // C L S I D / I I D D E F I N I T I O N // // =-------------------------------------------------------------------------= cpp_quote("") cpp_quote("DEFINE_GUID( CLSID_TFCandidateUI, 0x93ac9cb8, 0x27d5, 0x4482, 0xbf, 0xdf, 0x68, 0xf2, 0x1c, 0x74, 0x54, 0xa3 );") cpp_quote("DEFINE_GUID( IID_ITfCandidateUI, 0xe45f7b70, 0xa4c3, 0x48cd, 0x8e, 0xdd, 0x3e, 0x78, 0x4a, 0x8f, 0x5e, 0xae );") cpp_quote("DEFINE_GUID( IID_ITfCandidateStringFlag, 0x91114c09, 0x1fb3, 0x4771, 0x97, 0x01, 0x74, 0xfd, 0x18, 0xe1, 0x30, 0x9a );") cpp_quote("DEFINE_GUID( IID_ITfCandidateStringInlineComment, 0xa55119cc, 0xfed4, 0x49de, 0x85, 0xb2, 0xb6, 0xb5, 0x5f, 0x26, 0xb0, 0x0f );") cpp_quote("DEFINE_GUID( IID_ITfCandidateStringPopupComment, 0x66d2ab70, 0xd46c, 0x4543, 0xa4, 0xa9, 0xc6, 0x8b, 0x00, 0xb4, 0x3b, 0x4c );") cpp_quote("DEFINE_GUID( IID_ITfCandidateStringColor, 0x43fb8eee, 0xff1c, 0x42a1, 0x81, 0x0c, 0x77, 0x20, 0x1d, 0xf6, 0x71, 0x7e );") cpp_quote("DEFINE_GUID( IID_ITfCandidateStringFixture, 0xb85c0208, 0x4fec, 0x418c, 0x85, 0xd0, 0xc6, 0x2a, 0xd2, 0x9a, 0x09, 0x2b );") cpp_quote("DEFINE_GUID( IID_ITfCandidateStringIcon, 0x46275059, 0xc606, 0x41b0, 0xaa, 0xc8, 0xc8, 0xaa, 0x48, 0xb8, 0x29, 0x98 );") cpp_quote("DEFINE_GUID( IID_ITfCandidateListRawData, 0xcdd01281, 0x8228, 0x45a0, 0x9b, 0x55, 0xcc, 0x44, 0xc2, 0xa2, 0xa0, 0x91 );") cpp_quote("DEFINE_GUID( IID_ITfCandidateListExtraCandidate, 0x85bbeeb5, 0xba64, 0x411e, 0xab, 0xb3, 0xed, 0x37, 0x92, 0x75, 0xfa, 0xb4 );") cpp_quote("DEFINE_GUID( IID_ITfCandidateListTip, 0xc28a9c90, 0x16b1, 0x4064, 0xa1, 0x90, 0x0b, 0x9e, 0x5f, 0x59, 0x25, 0x39 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIKeyTable, 0x4f9d0bca, 0xc834, 0x4a46, 0x8d, 0xef, 0xb7, 0x54, 0x46, 0x71, 0xd6, 0x02 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIMenuExtension, 0x6875610e, 0x8912, 0x44c6, 0xbc, 0xab, 0x48, 0xc6, 0xcf, 0xf9, 0x15, 0xe3 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIAutoFilterEventSink, 0x28ae3d7b, 0xc38f, 0x4efa, 0xae, 0xdb, 0xf8, 0xca, 0xcc, 0x1b, 0x74, 0x22 );") cpp_quote("DEFINE_GUID( IID_ITfCandUISortEventSink, 0x212d4632, 0x58aa, 0x433e, 0x9a, 0xea, 0x67, 0xa2, 0xef, 0xe7, 0x0c, 0xb9 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIMenuEventSink, 0x944f237e, 0xf03b, 0x4bb9, 0xb8, 0xf3, 0x7a, 0xfa, 0x51, 0x58, 0x2d, 0x1a );") cpp_quote("DEFINE_GUID( IID_ITfCandUIExtButtonEventSink, 0x5c0fb534, 0x1c7e, 0x48c2, 0x90, 0x8f, 0x00, 0x85, 0x66, 0xc1, 0xcb, 0xb0 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIObject, 0xc45d5b93, 0xf651, 0x41f0, 0xac, 0x45, 0x13, 0x25, 0x2f, 0x35, 0xbf, 0xdc );") cpp_quote("DEFINE_GUID( IID_ITfCandUICandWindow, 0x483324b6, 0xc1a8, 0x4a48, 0xa5, 0x43, 0xc4, 0xf2, 0x6f, 0xd3, 0x2a, 0x29 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIPopupCommentWindow, 0x6ec789d1, 0x7e81, 0x4ecf, 0xb7, 0x26, 0xf9, 0x44, 0xc6, 0x9e, 0x99, 0x87 );") cpp_quote("DEFINE_GUID( IID_ITfCandUICandTipWindow, 0x2650d06e, 0x6ee7, 0x40bb, 0x98, 0x9f, 0x73, 0xee, 0x91, 0x7e, 0x00, 0xce );") cpp_quote("DEFINE_GUID( IID_ITfCandUICandListBox, 0x81defe18, 0x4363, 0x4e9f, 0xa0, 0xe4, 0x20, 0x5b, 0xf3, 0xd2, 0x15, 0x9e );") cpp_quote("DEFINE_GUID( IID_ITfCandUIMenuButton, 0x77d031f3, 0x87e5, 0x458d, 0x99, 0x9c, 0x23, 0x7d, 0x9a, 0xe4, 0xd8, 0x97 );") cpp_quote("DEFINE_GUID( IID_ITfCandUICaption, 0x7243c0cd, 0x474a, 0x4b71, 0x99, 0xa7, 0xf8, 0x84, 0x28, 0xe0, 0x4a, 0x57 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIExtraCandidate, 0xf6510bb9, 0xf697, 0x43d1, 0xa5, 0xe2, 0xef, 0xf2, 0x90, 0xd0, 0x0d, 0xfc );") cpp_quote("DEFINE_GUID( IID_ITfCandUIRawData, 0xafd12370, 0xd6c3, 0x4e9e, 0xa6, 0x25, 0x88, 0xbd, 0xfb, 0xef, 0x7b, 0x2f );") cpp_quote("DEFINE_GUID( IID_ITfCandUICandTipButton, 0xb32ec07e, 0x6b08, 0x4ad9, 0xb3, 0x63, 0xe9, 0x6e, 0x2a, 0x06, 0x03, 0x30 );") cpp_quote("DEFINE_GUID( IID_ITfCandUICandString, 0xc9e79120, 0x83c5, 0x438e, 0x99, 0x27, 0x43, 0x00, 0x8d, 0xb6, 0xc9, 0x9a );") cpp_quote("DEFINE_GUID( IID_ITfCandUICandIndex, 0xfc0c7cc9, 0xb065, 0x4d8c, 0xb3, 0x7d, 0xee, 0x47, 0x08, 0x35, 0xa4, 0x86 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIInlineComment, 0xd4b1e0a2, 0xaaf7, 0x44f4, 0xad, 0xf9, 0x81, 0x8b, 0x20, 0x7b, 0xcf, 0x39 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIToolTip, 0x8b5ec727, 0xf645, 0x4651, 0xa3, 0x18, 0x6a, 0x4e, 0x2e, 0xd6, 0x96, 0x66 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIPopupCommentTitle, 0xcb21bc71, 0x1974, 0x4fb6, 0xa9, 0xb0, 0xf5, 0xbc, 0xc8, 0xf3, 0xc4, 0x4b );") cpp_quote("DEFINE_GUID( IID_ITfCandUIPopupCommentText, 0x5770e84b, 0x0b59, 0x462d, 0x88, 0x36, 0xd7, 0x0b, 0xbc, 0x8c, 0x87, 0x67 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIFnAutoFilter, 0x499394ab, 0x67c3, 0x48a5, 0xa4, 0x5c, 0x50, 0x80, 0x50, 0x9e, 0x0f, 0xfb );") cpp_quote("DEFINE_GUID( IID_ITfCandUIFnSort, 0xdb7495f7, 0xbc6c, 0x420c, 0xa4, 0x9d, 0x74, 0x70, 0xe4, 0x1b, 0x1a, 0x41 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIFnKeyConfig, 0x2ccde6d6, 0x6e0a, 0x4231, 0x94, 0x96, 0xce, 0x0d, 0xa8, 0xaa, 0xa2, 0x2b );") cpp_quote("DEFINE_GUID( IID_ITfCandUIFnUIConfig, 0x1037334c, 0x8422, 0x4c73, 0xb8, 0x54, 0xf1, 0xa4, 0x61, 0x61, 0x69, 0xd7 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIFnExtension, 0xc441b720, 0xc7a0, 0x4823, 0xa2, 0x57, 0x8c, 0x3c, 0xd7, 0xbf, 0x14, 0xba );") cpp_quote("DEFINE_GUID( IID_ITfCandUIExtObject, 0x8cf2f281, 0x9add, 0x4021, 0x9a, 0x0d, 0x62, 0xc0, 0xe1, 0x1b, 0xc3, 0x84 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIExtSpace, 0x1fc2fb39, 0x99fb, 0x4cc4, 0x9f, 0x6f, 0x7f, 0xf3, 0x1f, 0xe9, 0xf1, 0xa2 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIExtPushButton, 0x4466c342, 0x4fd6, 0x43e4, 0x8d, 0x23, 0x34, 0xf4, 0x43, 0xef, 0x2d, 0x01 );") cpp_quote("DEFINE_GUID( IID_ITfCandUIExtToggleButton, 0xc16a174a, 0x5628, 0x4050, 0x8d, 0xfe, 0x0d, 0x82, 0xe7, 0x26, 0x5b, 0xa1 );") cpp_quote("DEFINE_GUID( IID_ITfOptionsCandidateList, 0x605133F7, 0x758D, 0x42fc, 0xA3, 0xFE, 0x10, 0x14, 0x6A, 0x7D, 0x52, 0xF9 );") cpp_quote("DEFINE_GUID( IID_ITfCandidateUIContextOwner, 0x9fa4580f, 0xcf50, 0x43f4, 0xaf, 0x09, 0x5e, 0x8c, 0xab, 0xe3, 0x72, 0xc2 );") cpp_quote("DEFINE_GUID( GUID_COMPARTMENT_MSCANDIDATEUI_CONTEXT, 0x7a489854, 0x7118, 0x4194, 0xbd, 0x3f, 0xcb, 0x3e, 0xfa, 0x2f, 0x30, 0x79 );") cpp_quote("DEFINE_GUID( GUID_COMPARTMENT_MSCANDIDATEUI_CONTEXTOWNER, 0xab2bdcff, 0x42c9, 0x497b, 0xb6, 0xcb, 0x49, 0xa8, 0x33, 0x3d, 0xa5, 0x9d);") cpp_quote("") cpp_quote("#endif // MSCANDUI_DEFINED")