Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 379
от 16.01.2007, 01:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 395, Экспертов: 34
В номере:Вопросов: 1, Ответов: 1


Вопрос № 70234: Здравствуйте! Пишу программу на C++, в которой используется несколько элементов управления (дочерних окон) класса "edit" с установленным стилем ES_READONLY. При этом цвет фона в таких окнах автоматически становится серым, а мне нужно остави...

Вопрос № 70.234
Здравствуйте! Пишу программу на C++, в которой используется несколько элементов управления (дочерних окон) класса "edit" с установленным стилем ES_READONLY. При этом цвет фона в таких окнах автоматически становится серым, а мне нужно оставить обычный белый (т.е., если не ошибаюсь, COLOR_WINDOW).
Очень смутно представляю себе, что нужно или обрабатывать сообщения WM_CTLCOLORSTATIC, или можно создать свой класс элемента из стандартного (при помощи GetClassInfo и RegisterClass) указав в новом классе нужный цвет. Но как реализовать какой-либо из этих или другой варианты, пока не очень пойму, - только-только учусь.
Пожалуйста, дайте пример кода, сопроводив его, по возможности, комментариями.
Спасибо.
P.S. Я не использую MFC, нужен чистый WinAPI.
Отправлен: 10.01.2007, 03:38
Вопрос задал: Fole (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Tek
Здравствуйте, Fole!
Полагаю проще использовать следующую API функцию для готового edit'а - SetClassLong(hWnd, GCL_HBRBACKGROUND, (HBRUSH)COLOR_WINDOW+1)
Правда это оправдано только в том случае, если все ваши edit'ы на форме - должны имеь белый фон - поскольку как сказано в MSDN - эта установка влияет на все создаваемые контролы(окна) данного класса
---------
WinApi - жутко неудобные костыли, MFC и VCL - немногим полезнее, но ничего лучше еще не создано (C)Почти Уинстон Черчилль :)
Ответ отправил: Tek (статус: 5-ый класс)
Ответ отправлен: 10.01.2007, 09:37


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.40 от 14.01.2007
Яндекс Rambler's Top100

В избранное