|
마제 님이 쓰신 글 :
: MDI로 구성된 VC로 만든 프로그램에 빌더로 만든 DLL을 붙였습니다.
:
: 근데 문제는 이 프로그램의 기능중에 특정화면을 SDI처럼 뽑아내며서 뽑아낸 화면을 TOP_MOST로 만들어 버리는 것이 있습니다.
:
: 빌더로 만든 DLL이 올라간 화면을 밖으로 뽑아낼때 뽑아내는 것 까지는 좋은데...
:
: 여기서 ColorDialog같은 창을 띄우게 되면 화면 뒤로 숨어버립니다.
:
: 그래서 얼핏보기에는 완전히 먹통이 된것 처럼 보입니다.
:
: 아는 사람이야 ESC를 눌러서 다시 취소를 한다고는 하시만.....
:
: 영 거슬리네요....ㅜ.ㅡ
:
: ColorDialog를 위로 띄울 수 있는 방법이 없는지......
:
: 아 이것때문에 골치아파 죽겠네요....
:
: Dialog들은 SetWindowPos가 안먹나보죠?
FindWindow 를 이용, 핸들을 잡아내고 이를 이용
SetWindowPos 함수를 이용해보시면 어떤지요?
ex) HWND hWnd = FindWindow( "원하는 클래스", "원하는 윈도우 이름" );
SetWindowPos( hWnd, HWND_TOPMOST, 0, 0, Width, Height, SWP_NOACTIVATE );
이와 같이 한번 해보세요... 저의 경우는 이렇게 해서 해결 했던 적이 있습니다.
|