1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52:
| procedure TMainform.BtnCloseClick(Sender: TObject); begin Close; end;
procedure TMainform.FormCreate(Sender: TObject); var Punkt1 : TPoint; Punkt2 : TPoint; Region : HRgn; RegionTemp : HRgn; begin ReportMemoryLeaksOnShutdown;
Edit1.Color := clLime; Memo1.Color := clLime;
Region := CreateRectRgn(0, 0, 0, 0);
Punkt1.X := BtnClose.Left; Punkt1.Y := BtnClose.Top; Punkt2.X := BtnClose.Left + BtnClose.Width; Punkt2.Y := BtnClose.Top + BtnClose.Height; Punkt1 := ClientToScreen(Punkt1); Punkt2 := ClientToScreen(Punkt2); RegionTemp := CreateRectRgn(Punkt1.X, Punkt1.Y, Punkt2.X, Punkt2.Y); CombineRgn(Region, Region, RegionTemp, Rgn_OR);
Punkt1.X := Edit1.Left; Punkt1.Y := Edit1.Top; Punkt2.X := Edit1.Left + Edit1.Width; Punkt2.Y := Edit1.Top + Edit1.Height; Punkt1 := ClientToScreen(Punkt1); Punkt2 := ClientToScreen(Punkt2); RegionTemp := CreateRectRgn(Punkt1.X, Punkt1.Y, Punkt2.X, Punkt2.Y); CombineRgn(Region, Region, RegionTemp, Rgn_OR);
Punkt1.X := Memo1.Left; Punkt1.Y := Memo1.Top; Punkt2.X := Memo1.Left + Memo1.Width; Punkt2.Y := Memo1.Top + Memo1.Height; Punkt1 := ClientToScreen(Punkt1); Punkt2 := ClientToScreen(Punkt2); RegionTemp := CreateRectRgn(Punkt1.X, Punkt1.Y, Punkt2.X, Punkt2.Y); CombineRgn(Region, Region, RegionTemp, Rgn_OR);
SetWindowRgn(Mainform.Handle, Region, true); end; |