ES_NUMBER, ES_UPPERCASE和ES_LOWERCASE样式在Win32 API编辑控件中停止工作



我们有一个非常旧的("遗留")VB6代码,用于从头开始创建Windows编辑控件。它看起来像这样:

Dim dwStyle As Long
dwStyle = WS_CHILD Or ES_AUTOVSCROLL Or ES_AUTOHSCROLL Or ES_NUMBER Or ES_MULTILINE
m_hwndEdit = CreateWindowExW(0, StrPtr("Edit"), 0, dwStyle, plX, plY, plWidth, plHeight, m_hWnd, 0&, App.hInstance, ByVal 0&)

它已经工作了很多年,但是现在客户报告说ES_NUMBER样式没有效果。同样涉及两个类似的标志,ES_UPPERCASE和ES_LOWERCASE。有什么问题吗?

一切照旧。这些风格在今天和过去一样有效。一些可能的解释:

  1. 其他程序正在修改你的编辑控件的窗口样式。
  2. 其他一些程序正在自动化您的应用程序,并以编程方式设置控件的文本。例如,屏幕键盘。
  3. 用户正在将值粘贴到编辑控件中,而不是键入它们。

我建议您联系您的用户,请他们准确地描述他们是如何将这些值放入控件的

最新更新