Q&A

  • Tray 팝업이 사라지도록하려면요..?
이하의 글을 게시하였으나 답변을 얻지 못했습니다.
기존 글을 삭제하고 다시한번 올립니다.
자문 부탁드립니다.
===================================================

안녕하세요. 델파이 초봄니다.
관련검색을 하여도 딱히 맞아 떨어지는 답변을 못찾았습니다.

//////내용 이하 ////////////////////////////////////////////////////

Tray Icon에서 오른쪽 마우스를 Up하면

//First//

1. 아래와 같이 해서 팝업을 띄우잖아요.
   PopupMenu.Popup(CursorPos.X, CursorPos.Y);
2. 근데 자신의 프로그램 아니고, 바탕화면을 찍으면 없어지지 않는다.

3. 그래서 해결하려고
   setForegroundWindow( Application.handle);
   하면 문제가 해결된다.

//Second //

위에서 팝업을 없애려고 setForegroundWindow( Application.handle) 를 호출하면
트레이 팝업과 Main화면이 동시에 나타나는 다른 문제가 생깁니다.(이때 Main화면은 예를 들면
탐색기 뒤에 Z oder로 배치되는데 같이 올라옴)

( Application.handle) 를 호출하지 않으면 팝업이 다른 영역을 찍었을때 없어지지 않습니다.


// 메인화면이 숨어 있는 것이 아니고 Z order가 최상위가 아닌경우를 말합니다.
==> 그래서 다른 프로그램은 어떤가를 Tray 떠있는 프로그램을 걍 하나씩 해보니..
1. 메신져 같은 것은 트래이 팝업을 띄웠을때  메인이 최상위로 올라오지도 않고 또 다른곳을 찍어면 잘 살아집니다. 가끔 안되는 경우가 있음(다른곳을 찍으도 팝업이 안사라짐 - 아주 가끔 나옴)

2. 어떤 프로그램은 트레이팝업과 뒤에 있는 메인화면이 같이 뜹니다.


==> 결론 Help
Messange(물론 다른것도 많지만 ^^)처럼 트레이가 팝업되어도 메인이 맨앞으로 안오게 하는방법을
가르쳐주시면 감사하겠습니다.(물론 다른곳을 찍으면 팝업도 살아져야하구요)

답변 기다리겠습니다.
0  COMMENTS