mirror of
				https://gitlab.com/freepascal.org/lazarus/lazarus.git
				synced 2025-10-31 05:21:28 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
| unit shapedwindowtest;
 | |
| 
 | |
| {$mode objfpc}{$H+}
 | |
| 
 | |
| interface
 | |
| 
 | |
| uses
 | |
|   Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
 | |
|   StdCtrls, LCLIntf, LCLType;
 | |
| 
 | |
| type
 | |
| 
 | |
|   { TfrmShapedWindow }
 | |
| 
 | |
|   TfrmShapedWindow = class(TForm)
 | |
|     btnClose: TButton;
 | |
|     procedure btnCloseClick(Sender: TObject);
 | |
|     procedure FormShow(Sender: TObject);
 | |
|   private
 | |
|     { private declarations }
 | |
|   public
 | |
|     { public declarations }
 | |
|   end; 
 | |
| 
 | |
| var
 | |
|   frmShapedWindow: TfrmShapedWindow;
 | |
| 
 | |
| implementation
 | |
| 
 | |
| {$R *.lfm}
 | |
| 
 | |
| { TfrmShapedWindow }
 | |
| 
 | |
| procedure TfrmShapedWindow.FormShow(Sender: TObject);
 | |
| {var
 | |
|   Rgn: HRGN;
 | |
| begin
 | |
|   Rgn := LCLIntf.CreateEllipticRgn(0, 0, 200, 200);
 | |
|   LCLIntf.SetWindowRgn(Handle, Rgn, False);
 | |
|   LCLIntf.DeleteObject(Rgn);}
 | |
| var
 | |
|   Shape: TBitmap;
 | |
| begin
 | |
|   Shape := TBitmap.Create;
 | |
|   try
 | |
|     Shape.Width := 200;
 | |
|     Shape.Height := 200;
 | |
|     Shape.Canvas.Ellipse(0, 0, 200, 200);
 | |
|     SetShape(Shape);
 | |
|   finally
 | |
|     Shape.Free;
 | |
|   end;
 | |
| end;
 | |
| 
 | |
| procedure TfrmShapedWindow.btnCloseClick(Sender: TObject);
 | |
| begin
 | |
|   Close;
 | |
| end;
 | |
| 
 | |
| end.
 | |
| 
 | 
