如何在EDIT中,限制只输入一个“-”,并且只能在第一位输入!

huiler 2004-04-01 12:13:07
如何在EDIT中,限制只输入一个“-”,并且只能在第一位输入!
比如说:我想输入”-1“,就不能输入”--1“,也不能输入-1-,
但是我可以输入1,2,-123等。

如果实现。谢谢,给分!
...全文
14 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ymbymb 2004-04-01
在OnChangeEdit中处理
void CTestDlg::OnChangeEdit1()
{
CString sText;
m_Edit.GetWindowText(sText);
int nLen = sText.GetLength();
if(nLen == 0) return;
if(sText[nLen-1] == '-' && nLen != 1)
{
m_Edit.SetWindowText(sText.Left(nLen-1));
m_Edit.SetSel(nLen-1, nLen-1);
}
}
回复
快乐鹦鹉 2004-04-01
首先,你必须确认你的分隔符,比如确定为逗号。
派生一个CEdit子类,响应WM_CHAR消息。
对于输入的字符,如果不是逗号、负号或者0~9则一律忽略。
如果是负号,则判断是否为第一个字符,或者前一个字符是逗号。并且在相邻两个逗号之间只有一个负号。满足这些条件好像就可以了。
回复
showjancn 2004-04-01
相就响应WM_CHAR消息。
然后在该函数中进行判断和控制
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告