www.pudn.com > NumPanel.rar > IMCommon.h


 
#define ID_ICON        1 
 
// **** Start of Generic COM declarations ****  
//====================================================================== 
// MyClassFactory - Object declaration 
// 
class MyClassFactory : public IClassFactory { 
 
private: 
    long m_lRef; 
 
public: 
    MyClassFactory(); 
    ~MyClassFactory(); 
 
    //IUnknown methods 
    STDMETHODIMP QueryInterface (THIS_ REFIID riid, LPVOID *ppv); 
    STDMETHODIMP_(ULONG) AddRef (THIS); 
    STDMETHODIMP_(ULONG) Release (THIS); 
 
    //IClassFactory methods 
    STDMETHODIMP CreateInstance (LPUNKNOWN pUnkOuter, REFIID riid,  
                                 LPVOID *ppv); 
    STDMETHODIMP LockServer (BOOL fLock); 
}; 
// **** End of Generic OLE declarations ****  
 
//====================================================================== 
// MyIInputMethod - Object declaration 
// 
class MyIInputMethod : public IInputMethod2 { 
 
private: 
    long m_lRef; 
    HWND m_hwndParent; 
    HWND m_hwndMyWnd; 
    HIMAGELIST m_himlWide; 
    HIMAGELIST m_himlNarrow; 
    IIMCallback *m_pIMCallback; 
 
public: 
    MyIInputMethod(); 
    ~MyIInputMethod(); 
 
    //IUnknown methods 
    STDMETHODIMP QueryInterface (THIS_ REFIID riid, LPVOID *ppvObj); 
    STDMETHODIMP_(ULONG) AddRef (THIS); 
    STDMETHODIMP_(ULONG) Release (THIS); 
 
    //IInputMethod 
    HRESULT STDMETHODCALLTYPE Select (HWND hwndSip); 
    HRESULT STDMETHODCALLTYPE Deselect (void); 
    HRESULT STDMETHODCALLTYPE Showing (void); 
    HRESULT STDMETHODCALLTYPE Hiding (void); 
    HRESULT STDMETHODCALLTYPE GetInfo (IMINFO __RPC_FAR *pimi); 
    HRESULT STDMETHODCALLTYPE ReceiveSipInfo (SIPINFO __RPC_FAR *psi); 
    HRESULT STDMETHODCALLTYPE RegisterCallback ( 
                                   IIMCallback __RPC_FAR *lpIMCallback); 
    HRESULT STDMETHODCALLTYPE GetImData (DWORD dwSize, LPVOID pvImData); 
    HRESULT STDMETHODCALLTYPE SetImData (DWORD dwSize, LPVOID pvImData); 
    HRESULT STDMETHODCALLTYPE UserOptionsDlg (HWND hwndParent); 
 
    //IInputMethod2 
    HRESULT STDMETHODCALLTYPE SetIMMActiveContext(HWND hwnd, BOOL bOpen, 
                       DWORD dwConversion, DWORD dwSentence, DWORD hkl); 
    HRESULT STDMETHODCALLTYPE RegisterCallback2 ( 
                                  IIMCallback2 __RPC_FAR *lpIMCallback); 
};