Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Системное программирование и WinAPI > Как сделать Edit Box - Read Only, не меняя цвет |
Автор: bugmenot 2.9.2006, 21:47 |
Как сделать Edit Box - Read Only, не меняя его цвет на серый? Спс |
Автор: Fixin 2.9.2006, 22:01 |
ну... (возможно так) субклассь едит и при попытке ввода возвращай пустое значение. Добавлено @ 22:08 Верно, это дисейбл "засеряет". |
Автор: GremlinProg 2.9.2006, 22:01 |
EDIT изначально и не устанавливает его серым. Добавь стиль ES_READONLY при создании едита. |
Автор: GremlinProg 2.9.2006, 22:31 | ||
нужно обработать WM_CTLCOLORSTATIC, только нужно проверить, для какого контрола меняем цвет:
|
Автор: Fixin 2.9.2006, 23:00 |
Зачем? |
Автор: GremlinProg 2.9.2006, 23:16 | ||
это уведомление посылается родительскому окну, когда необходимо получить кисть для закраски заднего фона, либо настроить HDC перед прорисовкой контрола. Конечно, по умолчанию, EDIT не ставит цвет серый на readonly, это происходит только в диалоговых шаблонах, поэтому выход через WM_CTLCOLORSTATIC:
|
Автор: Fixin 3.9.2006, 18:20 |
не учел. |
Автор: bugmenot 3.9.2006, 18:50 | ||||||
Не помогло Может я чето не так делаю... Я создаю окно с DialogBoxParamA, в ресурсах Edit Box уже Read Only, и код у меня выглядит гдето так:
|
Автор: GremlinProg 3.9.2006, 19:53 | ||
Ну, почти так )
|
Автор: bugmenot 3.9.2006, 19:59 |
Работает! =) Большое спасибо, GremlinProg |
Автор: Rickert 4.9.2006, 18:06 |
Можно ловить OnKeyDown и оставить его пустым. |