델파이

델파이/delphi] TMSNPopup 사용하기

il-ma-re 2024. 7. 22. 10:55
728x90

안녕하세요, 일마레입니다.

 

TMSNPopup 관련하여 안내해 드리려고 하는데요.


MSN 알림창을 쉽게 구현할 수 있게 해주는 무료 컴포넌트입니다.

 

↓ ↓ ↓ 다운로드 사이트 ↓ ↓ ↓

 

https://torry.net/components/forms/appearence/tmsnpopup

 

Components > Forms > TMSNPopUp. Torry's Delphi Pages

In category Components > Forms > Appearence Description The TMsnPopUp component is created to mimic the behavior of the popup windows that can be seen in MSN/Windows Messenger from Microsoft. But it even gets better, because TMsnPopup is fully customizable

torry.net

 

사용하는 예제는 아래 안내해 드리도록 하겠습니다.


//폼에 생성해 주세요.
PopUp1: TMSNPopUp;
Timer1: TTimer;
Timer2: TTimer;

// 시간을 비교하기 위해 하나 생성해 줄께요.
dtTmr : TDateTime; 

procedure TForm.FormCreate(Sender: TObject);
begin
      dtTmr := Now;
      Timer1 .Enabled := True; // 타이머 시간은 원하시는대로 적절히 설정해 주세요.
end;

procedure TForm.Timer1Timer(Sender: TObject);
begin
    TTimer(Sender).Enabled := False;
    try
          {
                확인하고자 하는 작업을 여기서 해주세요. 
                dtTmr 시간 이 후에 작업된 데이터를 조회하면 됩니다. 
          }
         if  조회된 내역이 있다면 then
         begin
                PopUp1.Title := 'title';                PopUp1.Text  := 'text'                PopUp1.ShowPopUp;

                dtTmr := Now;  // 시간은 재설정
         end;
    finally        TTimer(Sender).Enabled := True;    end;
end;    

 

이렇게 해놓으시고 조건에 맞으면 아래와 같은 popup 창이 확인됩니다.

MSN-팝업-창-이미지

클릭 하면 창은 사라지지만 창이 여러개 떠 있을 경우가 있어요.

그럴땐 아래 작업을 해주시면 됩니다.

procedure TForm.PopUp1Click(Sender: TObject);
begin
    Timer2.Enabled := True;
end;

procedure TForm.Timer2Timer(Sender: TObject);
var
  hTFrmMsnPopup : THandle;
begin
  hTfrmMSNPopUp := FindWindow(PChar('TfrmMSNPopUP'), nil);

  If hTfrmMSNPopUp <> 0 Then
  Begin
      SendMessage(hTfrmMSNPopUp, WM_CLOSE, 0,0);
      Application.ProcessMessages;
  End else
  begin
      TTimer(Sender).Enabled := False;
  end;
end;

 

msn 알림창을 사용하는 방법을 확인해 보았는데요.

 

많이 사용하는 기능은 아닙니다만

간단한 체크용 프로그램에 넣어 쓰기에는 좋더라구요ㅎㅎ

 

조금이라도 도움이 되었기를 바라며,

궂은 날씨에도 열심히 일하시는 여러분들 화이팅입니다!!

 

행복하세요^-^

728x90
LIST