Здравствуйте, 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>>