📄 mrssipim.h
字号:
// MrsSipIM.h : Declaration of the CMrsSipIM
#ifndef __MRSSIPIM_H_
#define __MRSSIPIM_H_
#include <Afxcmn.h>
#include "resource.h" // main symbols
//#import "D:\Project_Test\KeyBoard\MRSSIP\dvoraksip.tlb" raw_interfaces_only, raw_native_types, no_namespace, named_guids
#include <sip.h>
#include "SipPanel.h"
/////////////////////////////////////////////////////////////////////////////
// CMrsSipIM
class ATL_NO_VTABLE CMrsSipIM :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CMrsSipIM, &CLSID_MrsSipIM>,
public IDispatchImpl<IMrsSipIM, &IID_IMrsSipIM, &LIBID_MRSSIPLib>,
public IInputMethod
{
public:
CMrsSipIM()
{
}
DECLARE_REGISTRY_RESOURCEID(IDR_MRSSIPIM)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CMrsSipIM)
COM_INTERFACE_ENTRY(IMrsSipIM)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IInputMethod)
END_COM_MAP()
// IMrsSipIM
public:
virtual HRESULT FinalConstruct();
// IInputMethod
// STDMETHOD(Select)(wireHWND hwndSip)
STDMETHOD(Select)(HWND hwndSip)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
m_pSipPanel = new CSipPanel();
m_pSipPanel->CreateEx(0, NULL, _T("SampleSipPanel"), WS_VISIBLE, 0,0, 240, 80, hwndSip, NULL);
if (m_callback)
{
m_pSipPanel->RegisterCallback(m_callback);
}
// return E_NOTIMPL;
return S_OK;
}
STDMETHOD(Deselect)()
{
if (m_pSipPanel)
{
delete m_pSipPanel;
}
// return E_NOTIMPL;
return S_OK;
}
STDMETHOD(Showing)()
{
// return E_NOTIMPL;
return S_OK;
}
STDMETHOD(Hiding)()
{
// return E_NOTIMPL;
return S_OK;
}
STDMETHOD(GetInfo)(_tagImInfo * pimi)
{
if (pimi == NULL)// return E_NOTIMPL;
return S_OK;
pimi->hImageNarrow = (HIMAGELIST)m_imageList1;
pimi->iNarrow = 0;
pimi->hImageWide = (HIMAGELIST)m_imageList2;
pimi->iWide = 0; // return E_NOTIMPL;
return S_OK;
}
// STDMETHOD(ReceiveSipInfo)(_tagSipInfo * psi)
STDMETHOD(ReceiveSipInfo)(SIPINFO * psi)
{
// return E_NOTIMPL;
return S_OK;
}
STDMETHOD(RegisterCallback)(IIMCallback * lpIMCallback)
{
m_callback = lpIMCallback;
if (m_pSipPanel)
{
m_pSipPanel->RegisterCallback(m_callback);
}
// return E_NOTIMPL;
return S_OK;
}
STDMETHOD(GetImData)(ULONG dwSize, VOID * pvImData)
{
if (pvImData == NULL)// return E_NOTIMPL;
return S_OK;
// return E_NOTIMPL;
return S_OK;
}
STDMETHOD(SetImData)(ULONG dwSize, VOID * pvImData)
{
// return E_NOTIMPL;
return S_OK;
}
// STDMETHOD(UserOptionsDlg)(wireHWND hwndParent)
STDMETHOD(UserOptionsDlg)(HWND hwndParent)
{
// return E_NOTIMPL;
return S_OK;
}
CSipPanel* m_pSipPanel;
CImageList m_imageList1;
CImageList m_imageList2;
IIMCallback *m_callback;
};
#endif //__MRSSIPIM_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -