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

RusFAQ.ru: Win API


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

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

Выпуск № 212
от 17.03.2006, 01:35

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


Вопрос № 37305: Здравствуйте! Вот такая проблема у меня возникла: обрабатываю сообщение WM_CTLCOLORSTATIC, при этом устанавливаю прозрачный фон SetBkMode(dc, TRANSPARENT) и возвращаю чистую кисть (lbstyle="BS_NULL)." Все STATIC получаются прозрачным...

Вопрос № 37.305
Здравствуйте!

Вот такая проблема у меня возникла: обрабатываю сообщение WM_CTLCOLORSTATIC,
при этом устанавливаю прозрачный фон SetBkMode(dc, TRANSPARENT) и возвращаю чистую кисть (lbstyle="BS_NULL)."
Все STATIC получаются прозрачными, как и задумывалось, но при изменении в них текста старый текст не стирается с экрана, в результате получается накладка нового на старый.

Можно ли это как-нибудь исправить?
Желательно без вызова WM_PAINT родительского окна, если такое возможно.

P.S. Среда Delphi6.
Отправлен: 12.03.2006, 01:22
Вопрос задал: Данилевич Игорь Владимирович (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: DoubleV
Здравствуйте, Данилевич Игорь Владимирович!
Было бы проще, если бы ты прислал код. Но можно попробовать так:

HDC hdc=::GetDC(hWnd);
::SetBkMode(hdc,TRANSPARENT);
::PatBlt(hdc,40,90,100,150,PATCOPY);//Заливает указанный регион цветом фона.
::TextOutA(hdc,50,100,"Text",4);
::ReleaseDC(hWnd,hdc);

Удачи!
Ответ отправил: DoubleV (статус: 3-ий класс)
Ответ отправлен: 12.03.2006, 17:02
Оценка за ответ: 5
Комментарий оценки:
Да, лучше прислать код.


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

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

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

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

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


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


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

В избранное