【问题标题】:Is it possible to switch between numeric only and alpha-numeric input modes for a CEdit control?是否可以在 CEdit 控件的纯数字和字母数字输入模式之间切换?
【发布时间】:2013-04-08 12:52:30
【问题描述】:

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

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

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

一个示例用例:

  1. 用户启动应用程序。
  2. 用户点击某个按钮,这个对话框会显示CEdit 控件。
  3. 向用户显示单选按钮,其中默认选择字母数字按钮(因为这是在设计时设置的默认模式)。
  4. 用户点击数字。

此时我想将CEdit 控件的输入限制为仅限数字。同样,在此之后,如果用户再次单击字母数字单选按钮,我想删除该限制。

【问题讨论】:

    标签: c++ windows input mfc cedit


    【解决方案1】:

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

    所以,让它只接受数字:

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

    并恢复为接受所有字符:

    pEdit->ModifyStyle(ES_NUMBER, 0);
    

    【讨论】:

      猜你喜欢
      • 2013-12-04
      • 1970-01-01
      • 2015-04-09
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多