아주 간단하게 닫기를 눌러도 프로그램이 종료되지 않고 트레이로 가도록 하는 방법입니다.
1. TTrayIcon을 추가하고 폼의 OnCloseQuery 이벤트를 생성합니다.
type TForm1 = class(TForm)
TrayIcon1: TTrayIcon;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure TrayIcon1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
2. 폼의 OnCloseQuery 이벤트에서 폼을 종료했을 때 트레이로 가도록 합니다.
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := False; //닫기를 눌러도 폼이 종료되지 못하게 합니다.
//첫번째 방법
Form1.Hide;
TrayIcon1.Visible := True;
//두번째 방법
Hide();
WindowState := wsMinimized;
TrayIcon1.Visible := True;
end;
3. TrayIcon1의 OnClick 이벤트에서 트레이 아이콘을 눌렀을 때 폼이 나타나도록 합니다.
procedure TForm1.TrayIcon1Click(Sender: TObject); begin
//첫번째 방법
TrayIcon1.Visible := False;
Form1.Show;
//두번째 방법
TrayIcon1.Visible := False;
Show();
WindowState := wsNormal;
Application.BringToFront();
end;