To vy si hovoríte programátori? Používať nejaké programy, ak neviete niečo sami? Zaujímavé. No ale to je vaša vec ...
Neobdĺžníkový formulár vyriešiš takto:
1.) Tento kód ti vytvorí z formulára elipsu
Kód:
var
R : HRgn;
begin
R := CreateEllipticRgn(0, 0, Width, Height);
SetWindowRgn(Handle, R, True);
end;
2.) Elipsu si nechcel, to len aby si videl, že aj na to sú funkcie, netreba žiadne "múdre" programy
Vytvoriť takýto oblý vzhľad je trochu ťažšie, musíš totiž definovať každý bod ako prvok poľa. Potom pomocou
CreatePolygonRgn vytvoríš daný vzhľad. Čím viac bodov, tým presnejšie (ale aj pomalšie - samozrejme)
Kód:
var
R : HRgn;
Body: array[0..2] of TPoint;
begin
Body[0]:= Point(0, 0);
Body[1]:= Point(300, 0);
Body[2]:= Point(100, 200);
R := CreatePolygonRgn(Body, 3, ALTERNATE); // 3 znamená, že pole ma 3 údaje
SetWindowRgn(Handle, R, True);
end;
A ešte k tým prerušovným okrajom, ako má Winamp. Neviem ako si myslel to prerušovanie, ale ak tým myslíš prerušované blikanie, rieši sa to pomocou
AlphaBlendValue.