Przezroczystość w WinApi

0

Witam, korzystam z Visual C++ 2010, mam problem ze stworzeniem oczekiwanego efektu.
Chodzi mi oto aby po wyłączeniu ramki WinApi osiągnąć częściową przezroczystość programu.

Cos w tym stylu:

user image

Niestety po odpalenie programu w miejsce przezroczystego tła pojawia się biały kolor.

user image

Wygląda to fatalnie, Oczywiście tło jest w .png (opszar poza telefonem jest przezroczysty)

W opcjach Ranki WinApi nie ma do wybory przezroczystego tła:

user image

Proszę o pomoc.
Z góry dziękuję.

0

Nie mam VC, ale np. w Builderze jest "Transparent color" zdaje się i to ustawiasz na biały i biały będzie przezroczysty.

0

Po wybraniu tego wyskakuje błąd:

user image

Ktoś wie w czym problem?

0

Hmmm... Te "Control" w komunikacie, ciekawe czy chodzi o kontrolkę czy o kolor "Color". Zmień może kolor na White. Ale to chyba nie przyczyna. Tylko czemu forma nie obsługuje przezroczystości?

0

Bo w createparams trzeba dodać, że obsługuje przezroczystość. Ale to nie jest dobra droga. Jeżeli nie będziesz korzystał z domyślnych kontrolek .NET to użyj layered windows - obsługuje pełne ARGB.

0

Ale ja korzystam z kontrolek .NET, a co do "createparams" to jak ustawić aby obsługiwało przezroczystość?
Znalazłem cos takiego:

SetStyle(ControlStyles::SupportsTransparentBackColor, true);
this->BackColor = System::Drawing::Color::Transparent;

Ale niestety nie działa. Tło jest dalej białe.
Proszę o pomoc ;)

0

W Visual C++ jest ustawienie TransparencyKey.
Ustawiasz kolor na biały i działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1