永发信息网

编辑框为什么不能输入负号?

答案:3  悬赏:50  手机版
解决时间 2021-03-17 15:00
  • 提问者网友:温旧梦泪无声
  • 2021-03-17 11:48
我把编辑框数字属性勾上后输入负号不显示,只能输入数字

我的程序需要用户在编辑框里只输入数字,但需要有负数,要怎么处理啊?
to h93291 :数字类型在哪选?能说清楚点吗?
to gis19831203:我的编辑框是放在对话框中,怎么响应OnChar消息?
我照着您所说的去派生了一MyEdit,重载OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)并且将原来的CEdit pEdit改成MyEdit pEdit到此编译链接一切正常
但是加了pEdit->SubclassDlgItem(IDC_EDIT1, this); 运行就出错了,是怎么回事?
--------------------------------------------------
后来我又把DDX_Control一行删了就没事了
最佳答案
  • 五星知识达人网友:动情书生
  • 2021-03-17 12:39
那两2113个方法均可以达到你想要的目的,只不过只能5261选其一,否则会有冲突

我是说从CEdit派生一个CFormatEdit,当然是在CFormatEdit中响应OnChar消息,然后4102在你的对话框的OnInit***函数1653中调用pEdit->SubclassDlgItem(IDC_EDIT1, this);

你可以这样做:
1。从CEdit派生一个CFormatEdit
2。象这样重载WM_CHAR处理函数:
void CFormatEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(nChar ==_T('-') ||
(nChar <= '9' && nChar >= '0'))
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
}

3。如果你使用了DDX_Control函数,回则现在就应该可以使用了。答
否则你需要调用pEdit->SubclassDlgItem(IDC_EDIT1, this);
全部回答
  • 1楼网友:轮獄道
  • 2021-03-17 14:18
编辑框数字属性勾 后还得选数字类型
  • 2楼网友:低音帝王
  • 2021-03-17 13:38
你好! 编一个函数,检查编辑框中的字符。 如果对你有帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯