推荐在单行编辑控件中直观显示无效输入的解决方案

时间:2014-04-27 15:57:54

标签: c++ validation winapi error-handling editcontrol

我在对话框中编辑控件。其中一些是数字的,其中一些接受浮点数,其中一些是文本的。

我正在使用整数和浮点输入验证编辑控件。

我已经实施了验证机制来响应EN_CHANGE消息。我使用MessageBeep(MB_ICONERROR);表示无效输入。

我还想直观地指出错误,但不知道该怎么做。

由于我有多个编辑控件(15),因此最佳选项似乎会更改画笔以响应WM_CTLCOLOREDIT,但我担心此解决方案会引入太多新变量。另一种选择似乎是工具提示,但如果多个编辑控件具有无效输入,则这看起来可能看起来没有吸引力。这就是我在这里寻求帮助的原因,所以我可以从经验丰富,比我更好的开发人员那里获得建议。

对于我的情况,什么是最佳解决方案,当用户进行一个或多个无效输入时,可视地指示错误?

2 个答案:

答案 0 :(得分:2)

“..但我担心这个解决方案会引入太多新变量”

内存中存在数千个变量的空间。如果你需要记住每个15个编辑控件的状态,那么你需要15个状态变量。

答案 1 :(得分:0)

您可以使用气球来指示无效输入。 将EM_SHOWBALLOONTIP消息发送到编辑控件以显示气球。