我有一个CEdit控,我想要能够把时间输入。现在,我想这输入到来的形式hh:mm:ss。目前,我使用一个单独的CEdit控制小时,分钟,&秒。我知道我可能需要的用户输入号隔开来单独小时,分钟,秒钟,但我相信会得到令人困惑我的用户。

实际上我想我控制来显示的冒号,有的不同部分的控制是符停止,因此,它是明确的用户是什么时候正是他们进入。我知道我已经看到这种在其他地方,和我只是不知道怎么做我自己。

理想的情况是这些将来在作为3个独立的串的,因为我不是使用时间,或者任何其他类型的系统的时间,但我用我自己的时间计数。(ie。有多少数据样本,我们正进入的文件。) 意味着每个时间,我的钟开始于零,并从那里。

感谢

Dan

有帮助吗?

解决方案

重新格式化的文字是简单的足够的,但我会等待直到失去焦点消息而不是插入的冒号,同时用户是打字,它得到困惑,尤其是如果他们需要修改或删除一个字。

你可以实现符的领域内得到VK_TAB但我不确定我想这样做-用户使用标签跳到下一个控制没有到位内的一个控制。

另一种方式来做到这一点是有3个单独控制,但检测用户已进入足够的字首,或进入了一个选项(或结肠),然后自动开关重要的下一个。我认为这是整洁,它的什么的IP_ADDRESS控制。

其他提示

你必须要处理每个WM_CHAR(或WM_KEYUP,如适当),并重新格式的文本的编辑框为用户的类型。处理消息VK_TAB和设置选择作为合适。

我知道这篇文章不能让你相当在你想要但是我认为的开发者已执行什么你要求有关:

http://www.codeproject.com/KB/edit/datetimedit.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top