MFC 编辑框输入端口号,限制输入位数,和限制只可以输入数字。

在初始化函数中加入

CEdit *e_Port = (CEdit*)this->GetDlgItem(IDC_EDIT2);
	e_Port->SetLimitText(5);

 重写编辑框的EN_CHANGE事件:

不能输入非数字的字符,且限制位数5位,且范围为0~65535.

void CLoginDIalog::OnEnChangeEdit2()
{
	// TODO:  如果该控件是 RICHEDIT 控件,它将不
	// 发送此通知,除非重写 CDialogEx::OnInitDialog()
	// 函数并调用 CRichEditCtrl().SetEventMask(),
	// 同时将 ENM_CHANGE 标志“或”运算到掩码中。

	// TODO:  在此添加控件通知处理程序代码
	CEdit *p_port = (CEdit*)GetDlgItem(IDC_EDIT2);
	CString port_content;
	p_port->GetWindowText(port_content);
	int intNo = _tstoi(port_content);
	CString sNo;
	sNo.Format(_T("%d"), intNo);
	if (sNo != port_content)
	{
		p_port->SetWindowText(sNo);
		int position = sNo.GetLength();
		p_port->SetSel(position, position, FALSE);
		return;
	}

	UpdateData(TRUE);
	if (mV_port < 0 || mV_port > 65535)
	{
		MessageBox("端口的范围为0~65535\n");
		if (mV_port > 65535)
		{
			mV_port = 65535;
		}
		else
		{
			mV_port = 1;
		}
		UpdateData(FALSE);
		return;
	}
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值