Ne vidi se nista na formi jer je window layered, sto mora da bude ako hocu da ima oblik alpha bitmapa ili pnga koji napravim u Photoshopu. To se postize tako sto se setuje WS_EX_LAYERED style, sto overriduje default WM_PAINT iscrtavanje forme i samim tim ne vidis nista na formi. Stavi ovu liniju u OnCreate() forme i testiraj da li se vidi ista na formi. Nece cak ni forma da ti se vidi dok ne nalepis layer, tj bitmap/png :)
Code:
SetWindowLong(Self.Handle, GWL_EXSTYLE, GetWindowLongA(Self.Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
Kada pomocu SetWindowRgn() i CreateRoundRectRgn() setujem da prozor ima zakrivljeni border, aliased je i vidi se pikselizacija. Tako da sam ovo trenutno resio tako sto sam kreirao normalnu formu i layered formu ispod nje, koja je za par piksela veca od normalne forme sa svake strane:
Ovde mozes da vidis da su ivice sive forme pikselizovane, dok pozadinska crna forma ima smooth ivice :)
[Ovu poruku je menjao reiser dana 26.03.2013. u 13:15 GMT+1]