uiedit.cpp

来自「开发环境为EVC++,这个是一个我的一个简单的拨号程序,是通过串口接的GPRS模」· C++ 代码 · 共 87 行

CPP
87
字号
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "uiEdit.h"
#include "Sipapi.h"
//#include "aygshell.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

BEGIN_MESSAGE_MAP(CUIEdit, CEdit)
	ON_CONTROL_REFLECT(EN_SETFOCUS, OnSetfocus)
	ON_CONTROL_REFLECT(EN_KILLFOCUS, OnKillfocus)
END_MESSAGE_MAP()

CUIEdit::CUIEdit()
{

}
CUIEdit::~CUIEdit()
{

}

void CUIEdit::Init(const RECT& rect, CWnd* pParentWnd, DWORD dwID,DWORD *dwParam)
{

	DWORD dwStyle=ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER;
	m_dwthisID=dwID;
	if(!Create(dwStyle,rect,pParentWnd,m_dwthisID))//must pParentWnd not this
	{
		MessageBox(_T("CUIEdit Create  Fails!"));
		return;
	}
}

//实现自动显示和隐藏键盘
void CUIEdit::OnSetfocus(CWnd* pOldWnd)
{
	CEdit::OnSetFocus(pOldWnd);
	
	if(SipStatus()==SIP_STATUS_AVAILABLE )//need cordll.lib
	{
		RECT rect;
		GetRect( &rect );
		ClientToScreen(&rect);
		SIPINFO    si;
		si.dwImDataSize = 0;
		si.cbSize = sizeof(si);
		BOOL bSip = SipGetInfo(&si);

		if(rect.top >= 150)
		{
		si.rcSipRect.top = 0;
		}
		else
		{
		si.rcSipRect.top = 195;//half of the screen
		}
		SipSetInfo(&si);
		SipShowIM(SIPF_ON);
	}
	//SHSipPreference(m_hWnd,SIP_UP);//aygshell.lib
}

void CUIEdit::OnKillfocus(CWnd* pNewWnd)
{
	CEdit::OnKillFocus(pNewWnd);
	if(SipStatus()==SIP_STATUS_AVAILABLE )
	{
		SipShowIM(SIPF_OFF);
		SIPINFO    si;
		si.dwImDataSize = 0;
		si.cbSize = sizeof(si);
		BOOL bSip = SipGetInfo(&si);
		si.rcSipRect.top = 195;
		SipSetInfo(&si);
	}

	//SHSipPreference(m_hWnd,SIP_FORCEDOWN);
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?