For this example, you will need 2x TButton, 1x TMemo and 1x TTimer. Alternatively, take the code from Button2.Click and include StdCtrls, ExtCtrls; unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; Button2: TButton; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Memo1Enter(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Close(); end; procedure TForm1.Button2Click(Sender: TObject); var Region: HRgn; Points: array [0..11] of TPoint; begin Timer1.Enabled := True; (* Define the points of an arrow shape *) Points[0] := Point(0 , 0 ); Points[1] := Point(320 , 120); Points[2] := Point(0, 240 ); Points[3] := Point(160, 120 ); (* Define the region *) Region := CreatePolygonRgn(Points, 4, ALTERNATE); (* Set the window to have the above defined region *) SetWindowRgn(Handle, // The handle of your form Region , // The handle of your defined region True); // Indicates the window is to be redrawn now end; procedure TForm1.Timer1Timer(Sender: TObject); begin Close(); end; procedure TForm1.Memo1Enter(Sender: TObject); begin Button2.SetFocus(); end; end.