먼저번에 한번 질문을 했고 그에 대한 답변을 얻었지만, 해결이 안되는군요.
이전에 했던 질문은, 두개의 StayOnTop 윈도우에 대한 방법이었습니다.
form1, Form2 가 있는데, Form1이 StayOnTop을 갖다가 어느 순간 Form2가 StayOnTop을 갖는 것입니다.
이에 대해 얻은 답변은 SetWindowPos의 사용이었습니다.
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
이를 통해 절반의 성공을 하였으나 아직 문제가 해결되지는 않았습니다.
두개의 Form, Form1과 Form2가 있습니다.
FOrm1이 있고, Form1의 버튼을 누르면 Form2가 표시되면서 Form2가 StayOnTop을 갖는 것입니다. 그래서 실행되면서 버튼을 누르면
Form2에 SetWindowPos로 TOPMOST를 주었습니다. 그리고 나서 show를 하였습니다.
그런데 결과는 Form2가 Form1보다 위에 있긴 하지만, 다른 어플리케이션보다 위에 있지는 않았습니다. 즉, Form1에서 Form2를 show할 때, Form1에 SetWindowPos로 Topmost를 주면 적용이 되는데, Form2에 주면 Form1보다는 항상 위에 있지만, 다른 어플보다는 위에 있지 않다는것입니다.
그래서 Form2가 Form1의 자식이기 때문에 그런것인가 생각이 들어서 Form1.parent가 nil이고 Form2의 Parent가 form1이어서 생긴 현상으로 보고 Form2의 parent를 nil로 만들어주고 SetWindowPos를 실행했지만, 다른 결과를 얻지는 못했습니다.
Form1이 Form2를 표시하고 Form2를 어플리케이션 내에서 TopMost가 아니라, 윈도우 전체에서 TopMost가 되게 하는 방법은 무엇일까요.