CEdit控件对输入参数的控制,包括右键面板及快捷键的处理

本文介绍如何在CEdit控件中实现对输入参数的控制,包括限制输入数值范围,处理Ctrl+C/V/X快捷键,以及响应右键面板操作。通过覆盖OnChar函数和自定义函数AnalysValue,确保输入值不超过预设的最大最小值,并对非法字符进行过滤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "stdafx.h"
#include "NumEdit.h"

#define VK_CTRL_X          0x18                   
#define VK_CTRL_C          0x03
#define VK_CTRL_V          0x16
// CNumEdit

IMPLEMENT_DYNAMIC(CNumEdit, CEdit)

CNumEdit::CNumEdit()
{
 m_strValue = _T("");
 m_nMaxValue = 0;
 m_nMinValue = 0;
}

CNumEdit::~CNumEdit()
{
}


BEGIN_MESSAGE_MAP(CNumEdit, CEdit)
 ON_WM_CHAR()
END_MESSAGE_MAP()

void CNumEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
  int nCurserPos = 0;
 if ((nChar>='0'&&nChar<='9')|| VK_BACK==nChar)
 { 
  GetWindowText( m_strValue );
  CString str;
  int nLen = 0;
  int nBegin = 0;
  int nEnd = 0; 
  GetSel( nBegin, nEnd );
  nLen = m_strValue.GetLength();
  if( VK_BACK == nChar )
  {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值