본문 바로가기
Delphi Tip/+Tip

정해진 시간에 없어지는 MessageBox

by MonoSoft 2023. 11. 6.
728x90
반응형

정해진 시간에 없어지는 MessageBox

 

728x90

 

정해진 시간에 없어지는 MessageBox

 

 

procedure MessageBoxTimerProc(hWnd: HWND; uMsg: UINT; idEvent: UINT; Time: DWORD); stdcall;

 

...

 

procedure MessageBoxTimerProc(hWnd: HWND; uMsg: UINT; idEvent: UINT; Time: DWORD);

begin

  PostQuitMessage(0);

end;

 

function TimedMessageBox(hwndParent: HWND;

ptszMessage: LPCTSTR;

ptszTitle: LPCTSTR;

flags: UINT;

dwTimeout: DWORD): Integer;

var

  idTimer: UINT;

  uiResult: UINT;

  msg: TMSG;

begin

  idTimer := SetTimer(0, 0, dwTimeout, @MessageBoxTimerProc);

  uiResult := MessageBox(hwndParent, ptszMessage,     ptszTitle, flags); KillTimer(0, idTimer);

 

  if (PeekMessage(msg, 0, WM_QUIT, WM_QUIT, PM_REMOVE)) then

    uiResult := 0;

 

  Result := uiResult;

end;

 

사용법

 

TimedMessageBox(0, PChar('나 2초 있다가 죽어요!'), PChar('^^'), MB_OK, 2000);

 

728x90
반응형

댓글