|
: 장성호 님이 쓰신 글 :
: TForm * 의 FormStyle을 fsStayOnTop으로 바꾸세요
: 그러면 맨위에 올라올겁니다.
:
: 그래도 하다보면 안되는 경우가 가끔 있는데 이럴때는
: 이땐 Form의 Deactivate 이벤트에 Topmost로 해주는 코딩을 넣으십시요
: SetWindowPos( Handle, HWND_TOPMOST, Left, Top, Width, Height, SWP_NOACTIVATE );
저도 장성호님의 답변대로 처리해보았으나 안되더군요..
같은 App내에서의 원하는 차일드 윈도우에는 fsStayOnTop 속성이 적용됩니다.
즉, MDI내에서 차일드 윈도우가 여러개 존재할때 원하는 차일드에 fsStayOnTop 속성을 넣어주면
해당 차일드만 맨위로 올라옵니다.. 물론 MDI내에서만입니다. 그러나 다른 App가 액티브되면
제가 작성한 MDI 메인이 Deactive되면서 내부 차일드들이 fsStayOnTop 속성을 가지던 안가지던
혹은 SetWIndowPos를 Topmost로 햇던 안햇던 무조건 MDI메인 이하 모든 차일드 윈도우는
덩달아 Deactive되더군요...
따라서 MDI메인이 minimize되면 제가 플로팅윈도우로 만들어놓았던 차일드들도 덩달아 hide되버립니다.
저는 MDI메인은 minimize되어도 제가 만든 플로팅 윈도우는 바탕화면에 최상위로 남기를 바라는데요.
이게 그렇게 어려운 기능인가요? ㅜㅜ
볼랜드 넘 어려워요.. 으흐흑..
|