Zmień w pliku UnitMain.pas procedurę FormCreate (to co jest na PasteBin w liniach od 126 do 165 na):
procedure TFMain.FormCreate(Sender: TObject);
var
regn, tmpRegn, x, y: integer;
nullClr: TColor;
s_load: bool;
Settings: TInifile;
begin
s_load:=LoadSettings();
if (s_load) then
begin
if (USettings[4]='0') then
begin
Settings := TInifile.Create(USettings[0]+'_settings.ini');
Settings.WriteString('main','Installed','1');
Settings.Free;
CreateDesktopIcon(USettings[3],USettings[0],'Play Lineage II');
end;
end
else
begin
FMain.Timer1.Enabled:=False;
ShowMessage('ERROR: _settings.ini Not Found !');
Application.Terminate; // .close çäĺńü íĺ ďđîéäĺň
end;
// Íŕâîäčě ęđŕńčâîńňü íŕ ôîđěó ...
//linia poniżej raczej niepotrzebna, bo chyba cały czas jest image i on jest odrysowywany ale jak coś to można by przypisać ale kod wymagałby dodatkowej bitmapy
//FMain.brush.bitmap:=Image1.picture.bitmap;
nullClr := TPNGObject(Image1.picture.Graphic).TransparentColor;
regn := CreateRectRgn(0, 0, image1.picture.Graphic.Width,
image1.picture.Graphic.Height);
for x := 1 to image1.picture.Graphic.Width do
for y := 1 to image1.picture.Graphic.Height do
if TPNGObject(Image1.picture.Graphic).Pixels[x - 1, y - 1] = nullClr then
begin
tmpRegn := CreateRectRgn(x - 1, y - 1, x, y);
CombineRgn(regn, regn, tmpRegn, RGN_DIFF);
DeleteObject(tmpRegn);
end;
SetWindowRgn(FMain.handle, regn, true);
end;
Uzyskany efekt i tak zależy od twego jak jest zrobiony obraz PNG (przy niektórych testowanych też miałem takie brzydkie krawędzie).