45 lines
943 B
C++
45 lines
943 B
C++
|
#ifndef TSF_HPP
|
||
|
#define TSF_HPP
|
||
|
|
||
|
#include <msctf.h>
|
||
|
|
||
|
class TSF
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
protected:
|
||
|
class UI_Sink : public ITfUIElementSink, public ITfInputProcessorProfileActivationSink
|
||
|
{
|
||
|
public:
|
||
|
UI_Sink();
|
||
|
~UI_Sink();
|
||
|
|
||
|
// IUnknown
|
||
|
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
|
||
|
STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
STDMETHODIMP_(ULONG) Release(void);
|
||
|
|
||
|
// ITfUIElementSink
|
||
|
STDMETHODIMP BeginUIElement(DWORD dwUIElementId, BOOL *pbShow);
|
||
|
STDMETHODIMP UpdateUIElement(DWORD dwUIElementId);
|
||
|
STDMETHODIMP EndUIElement(DWORD dwUIElementId);
|
||
|
|
||
|
// ITfInputProcessorProfileActivationSink
|
||
|
STDMETHODIMP OnActivated(DWORD dwProfileType, LANGID langid,
|
||
|
REFCLSID clsid, REFGUID catid,
|
||
|
REFGUID guidProfile, HKL hkl,
|
||
|
DWORD dwFlags);
|
||
|
|
||
|
// ITfCompartmentEventSink
|
||
|
STDMETHODIMP OnChange(REFGUID rguid);
|
||
|
|
||
|
private:
|
||
|
LONG my_Reference_Count;
|
||
|
};
|
||
|
|
||
|
private:
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif
|