안녕하세요. 저번에 ShowMessage 최상위에 뜨는 내용 질문드렸는데요
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=57217
그때 말씀해주신대로
메인폼의 WndParent도 Application->Handle이 아니라 GetDesktopWindow로 설정하구
메인폼이 Show될때 Application->Handle을 Hide시켜 버립니다.
를 사용한뒤,
String sClsName=Screen->ActiveForm->ClassName();
if(sClsName=="TMessageForm")
SetWindowPos(Screen->ActiveForm->Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
를 사용하여 메시지박스를 항상 최상위로 띄웠습니다.
이게 잘 통한다고 생각했는데..
문제는, 메인폼에 최소화 버튼이 있습니다
임의로 handle 과 real 을 a,b 로 표현하겠습니다
최소화 버튼을 누르기 전까지는. a가 hide 상태로 잘되있어서. 작업표시줄에 b만 뜨고, b만 보여집니다
근데 최소화 버튼을 누르면 b 가 작업표시줄로 숨어들어가면서, a 가 나타나고, 화면에도 a가 뜨게됩니다
이게 어떻게 된건지 ㅜㅜ
어떻게 하면 이문제를 해결 할 수 있을까요?
|