Re: Отрисовка текста на DC с прозрачным фоном (Vista)
От: squid  
Дата: 07.03.08 19:38
Оценка:
Здравствуйте, NeyroN, Вы писали:

NN>Приветствую, уважаемые!

NN>Подскажите, кто знает.
NN>В программе есть функция, которая выводит "транспарентный" текст поверх существующего изображения.
NN>void MyClass::DrawTransparentText(AnsiString text,int x, int y, HDC hPaintDC)
NN>{
NN> RECT r;
NN> r.left=x; r.right=x+200; r.top=y; r.bottom=y+15;
NN> SetBkMode(hPaintDC,TRANSPARENT);
NN> SetTextColor(hPaintDC, 0x000000FF);
NN> DrawText(hPaintDC,text.c_str(),text.Length(),&r,DT_LEFT);
NN>}
NN>В Висте, если тема "Аэро" отключена, то все ОК. Тест рисуется поверх картинки как положено, без фона, а если "Аэро" включена, то текст отрисовывается с черным фоном. Пробовал после SetBkMode выставлять фон для DC на черный. Результат тот же... Если есть какие мысли, буду благодарен!

а что если в GDI+ все отрисовывать? обычный GDI с полноценной прозрачностью не очень дружит...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.