是否可以在CEdit控件的数字输入和字母数字输入模式之间切换?

时间:2013-04-08 12:52:31

标签: c++ windows input mfc cedit

我有一些单选按钮决定了要赋予CEdit控件的输入类型。按照设计,我的CEdit控件接受数字和字符。

当用户点击提供的单选按钮时,有没有办法将此输入限制为仅?此外,当用户点击另一个选项(即字母数字模式)时,是否可以切换回来?

我设置我的CEdit控件以使用Visual C ++的GUI接受字母数字字符(即右键单击控件 - >属性 - >“样式”选项卡 - >选择“数字”)。

示例用例:

  1. 用户启动应用程序。
  2. 用户点击某个按钮,此对话框显示CEdit控件。
  3. 向用户显示单选按钮,默认情况下选择字母数字按钮(因为这是在设计时设置的默认模式)。
  4. 用户点击数字。
  5. 此时我想将CEdit控件的输入限制为仅限数字。同样,在此之后,如果用户再次单击字母数字单选按钮,我想删除该限制。

1 个答案:

答案 0 :(得分:5)

是的,使用CEdit::ModifyStyle()设置或清除ES_NUMBER样式。

所以,要让它只接受数字:

CEdit *pEdit = // get your control here ...
pEdit->ModifyStyle(0, ES_NUMBER);

并恢复接受所有字符:

pEdit->ModifyStyle(ES_NUMBER, 0);