⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mrssipim.h

📁 这个是可以用于windos mobile平台下面的软键盘的代码
💻 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 + -