首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFC CEdit Ctrl问题

MFC CEdit Ctrl问题
EN

Stack Overflow用户
提问于 2009-08-04 22:38:16
回答 2查看 1.3K关注 0票数 1

我有一个CEdit控件,我希望能够从该控件获取时间输入。现在,我希望此输入的格式为hh:mm:ss。目前,我对小时、分钟和秒使用单独的CEdit控件。我知道我可以要求用户输入冒号来分隔时、分、秒,但我认为这会让我的用户感到困惑。

我实际上希望我的控件显示冒号,并使控件的不同部分以制表位为停靠点,这样用户就可以清楚地知道他们输入的确切时间。我知道我在别处见过这种情况,但我不知道自己该怎么做。

理想情况下,这些将作为3个单独的字符串出现,因为我没有使用Epoch时间或任何其他类型的系统时间,而是使用我自己的时间计数。(即我们在文件中有多少数据样本。)意思是每次,我的时钟从零开始,从零开始计数。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-04 22:58:30

重新格式化文本很简单,虽然我会等到丢失焦点的消息,而不是在用户键入时插入冒号,但这会让人感到困惑,特别是当他们需要编辑或删除字符时。

您可以通过获取VK_TAB在字段中实现制表位,但我不确定我是否会这样做-用户习惯于将制表符跳到下一个控件,而不是跳到控件中的位置。

另一种方法是有3个独立的控件,但检测用户是否为第一个控件输入了足够的字符,或者何时输入制表符(或冒号),然后自动将焦点切换到下一个控件。我认为这更简洁,这就是IP_ADDRESS控件所做的。

票数 0
EN

Stack Overflow用户

发布于 2009-08-04 22:53:35

您必须处理每个WM_CHAR (或WM_KEYUP,视情况而定),并在用户键入时重新格式化编辑框中的文本。处理VK_TAB的消息并设置适当的选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1230260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档