datetimepicker 类 - 具有 dts_appcanparse 样式 - 无法选择
当用户完成编辑时,我得到 DTN_USERSTRING - 引出了一个问题:用户何时完成编辑?输入日期后,TAB 似乎没有生成此通知,我也没有得到 dtn_keydown 或任何其他信息;鼠标或按 ALT 似乎可以解决问题,但我需要让 TAB 完成编辑并移动到对话框中的下一个控件,而不是卡在 DTP 中..有什么想法吗?
非常感谢, 斯里尼。
参考: 文档: http://msdn.microsoft。 com/en-us/library/windows/desktop/bb761745(v=vs.85).aspx [^] 用户完成输入日期后调用该函数
类似问题: 请参阅http://www.codeguru.com/forum/showthread.php?p= 751286 [^] (没有回应)
when the user finishes editing, i get the DTN_USERSTRING - begs the question when does the user finish editing? after typing the date, TAB doesn't seem to generate this notification, nor i get dtn_keydown or any other; mouse or pressing ALT seem to do the trick, but i need to make the TAB finish the edit and move to the next control in the dialog and not get stuck in the DTP.. any ideas?
thanks a ton,
srini.
references:
documentation:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb761745(v=vs.85).aspx [^]
the function is called after the user finishes entering the date
similar problem:
see http://www.codeguru.com/forum/showthread.php?p=751286 [^]
(no response)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
似乎当CDateTimeCtrl动态创建CEdit以允许自由编辑时,它会失去接收消息的能力。当重写 PreTranslateMessage() 时,它甚至无法捕获 VK_TAB。
也许考虑使用与 CDateTimeCtrl 不同的控件:
http://www.codeproject.com/KB /miscctrl/datetimeeditctrl.aspx
Seems that when CDateTimeCtrl dynamically creates CEdit to allow free edit, then it some how looses the ability to receive messages. It cannot even catch VK_TAB when overriding PreTranslateMessage().
Maybe consider to use a different control than CDateTimeCtrl:
http://www.codeproject.com/KB/miscctrl/datetimeeditctrl.aspx
此处的答案提供了修改后的
DateTimePicker
,它允许自由形式编辑并保留预期的 Tab 键功能。The answer here presents a modified
DateTimePicker
that allows freeform editing and maintains the expected Tab key functionality.