말씀하신 내용을 보니 WM_KILLFOCUS 메시지를 이용하면 될 것같습니다.
폼이 포커스를 읽어버리면 즉, 다른 프로그램을 클릭하거나 바탕화면을 클릭
하면 자신의 프로그램의 폼에서 WM_KILLFOCUS메시지가 발생합니다..
그때 하고자 하는 일을 하게 하면 되죠...
간단한 예제입니다...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
procedure WMKillFocus(var msg: TMessage); message WM_KILLFOCUS;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMKillFocus(var msg: TMessage);
begin
ShowMessage('프로그램이 포커스를 잃었습니다.');
close;
end;
end.
그럼 도움이 되셨길....
|