Q&A

  • 메신저 알리미처럼 만들엇는데요..프로그램에 영향을 주지않고 혼자 뜨고 지게 할수 잇나요
메신저 알림미처럼 알리미를 만들었는데..

프로그램에서.. 작업을 하고 있는데.. 알림미창이 뜨면 제어권이 알리미로 넘어가고 알림미가 끝나면

그때.. 제어권이 돌아옴니다.

왜 그런가요

제가 코딩한것은 이렇습니다.

알리미 부를때

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;

0  COMMENTS