메신저 알림미처럼 알리미를 만들었는데..
프로그램에서.. 작업을 하고 있는데.. 알림미창이 뜨면 제어권이 알리미로 넘어가고 알림미가 끝나면
그때.. 제어권이 돌아옴니다.
왜 그런가요
제가 코딩한것은 이렇습니다.
알리미 부를때
FrmAlimme.Show;
FrmAlimme.Label1.Caption := Trim(PTreeMenu(frmMain.TreeMenu.Items.Item[idx].Data)^.EMailID) +
chr(10) + ' 님이 로그인 하였습니다.';
알림미폼 코딩
procedure TFrmAlimme.FormCreate(Sender: TObject);
begin
Top := Screen.Height;
Left := Screen.Width - Width;
Timer1.Interval := 1;
Timer1.Enabled := True;
end;
procedure TFrmAlimme.Timer1Timer(Sender: TObject);
begin
if Top <= Screen.Height - Height then
begin
Timer1.Enabled := False;
exit;
end;
SetBounds(Left, Top - 43, Width, Height);
end;
procedure TFrmAlimme.FormActivate(Sender: TObject);
begin
Timer2.Enabled := True;
with Self do
SetWindowPos(Handle, HWND_TOPMOST, // 폼을 최상위로...
Left, Top, Width, Height,
SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) and not WS_CAPTION);
Height := ClientHeight;
end;
procedure TFrmAlimme.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
with Self do
SetWindowPos(Handle, HWND_NOTOPMOST, // 폼의 최상위 해제...
Left, Top, Width, Height,
0);
CanClose := True;
end;
procedure TFrmAlimme.Timer2Timer(Sender: TObject);
begin
if Timer2.Interval = 2000 then
begin
ModalResult := mrOK;
Timer2.Enabled := False;
Close;
end;
end;
procedure TFrmAlimme.Image2Click(Sender: TObject);
begin
close;
end;