Стили 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 ответ
Решение
Ничего не изменилось. Эти стили работают сегодня так же хорошо, как и всегда. Некоторые возможные объяснения:
- Некоторые другие программы изменяют стиль окна вашего элемента управления редактирования.
- Некоторая другая программа автоматизирует ваше приложение и устанавливает текст элемента управления программно. Например, экранная клавиатура.
- Ваши пользователи вставляют значения в элемент управления редактирования, а не вводят их.
Я предлагаю вам связаться с вашими пользователями и попросить их точно описать, как они вводят эти значения в контроль.