www.pudn.com > shelllist.rar > MyEdit.cpp
/*--------------------------------------------------------
*Copyright 中国频道-厦门精通科技(www.china-channel.com)
*
* BY:张建新(zhangjx@china-channel.com)
*
*--------------------------------------------------------*/
/*---------------------------------------------------------
* 列表在位编辑控件,可限制输入范围并对任一列在位编辑
*--------------------------------------------------------*/
#include "stdafx.h"
#include "ClientFTP.h"
#include "MyEdit.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMyEdit
CMyEdit::CMyEdit()
{
m_x = m_y = m_cx = m_cy = 0;
m_strInputRange.Empty();
m_bAddrBar = FALSE;
}
CMyEdit::~CMyEdit()
{
}
BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
//{{AFX_MSG_MAP(CMyEdit)
ON_WM_CHAR()
ON_WM_WINDOWPOSCHANGING()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMyEdit message handlers
void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(m_bAddrBar) return;
if(!m_strInputRange.IsEmpty())
{
if(m_strInputRange.Find(nChar) == -1)
{
return;
}
}
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
void CMyEdit::OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
if(!m_bAddrBar)
{
lpwndpos->x = m_x;
lpwndpos->y = m_y;
lpwndpos->cx = lpwndpos->cx > m_cx ? lpwndpos->cx : m_cx;
lpwndpos->cy = lpwndpos->cy > m_cy ? lpwndpos->cy : m_cy;
}
CEdit::OnWindowPosChanging(lpwndpos);
}