Отключение редактирования текста в поле EDITTEXT в C ++ при сохранении прокрутки - PullRequest
1 голос
/ 28 мая 2019

Итак, моя дилемма заключается в создании пользовательского интерфейса в C ++ с помощью Windows API. Мне нужно иметь поле EDITTEXT, которое позволяет прокручивать, но не позволяет пользователю редактировать текст, который отображается в окне. Пока это выглядит так.

EDITTEXT        ID_STATUS,7,237,439,50, WS_VSCROLL | ES_MULTILINE 

Это позволяет прокручивать текст, если он длинный, и разбивает его на новые строки. Однако, если я добавлю к этому параметр DISABLED, он отключит как полосу прокрутки, так и текст. Как лучше всего решить эту ситуацию? Я также попытался добавить

SendDlgItemMessage(ID_STATUS, EM_SETREADONLY, 0, 0);

перед предварительным просмотром пользовательского интерфейса, чтобы увидеть, отключит ли это редактирование текста, но это не так. Любая помощь будет оценена.

1 Ответ

4 голосов
/ 28 мая 2019

EM_SETREADONLY правильно, но вы фактически не запросили его только для чтения.Try

SendDlgItemMessage(ID_STATUS, EM_SETREADONLY, TRUE, 0);

wParam

Указывает, устанавливать или удалять стиль ES_READONLY.Значение TRUE устанавливает стиль ES_READONLY;значение FALSE удаляет стиль ES_READONLY.

Вы также можете указать стиль ES_READONLY при создании элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...