푸른나무그늘

마음이 쉬는 곳...

포토로그


QR CODE

이글루스 구글 검색엔진


Twitter


[C++] DialogBox 사용 시, ERROR_TLW_WITH_WSCHILD 1406 (0x57E) 발생하는 경우 //프로그래밍//

C++ 에서 DialogBox로 대화상자를 생성할 때, 대화상자는 생성되지 않고 -1이 리턴되며
GetLastError() 값으로 ERROR_TLW_WITH_WSCHILD 1406 (0x57E) 이러한 값이 넘어온다면
대부분은 다음과 같은 문제이지 않을까 싶다.

일단 MSDN에는 위 에러 번호에 대하여 다음과 같이 적혀있다. 

Cannot create a top-level child window.

리소스 파일에 작성한 Dialog 속성에 WS_CHILD로 되어 있다면 그것이 원인일 가능성이 높다.
현재 에러의 원인이 되는 것은 부모 윈도우가 없을 때 DialogBox를 WS_CHILD로 생성하려고 하니
부모 윈도우 다음에 대화상자를 출력해야 하는데 부모 윈도우가 없어서 에러가 발생하는 것이다.
그러므로 WS_CHILD를 WS_POPUP으로 바꾸면 문제가 해결된다.

이것 때문에 몇 시간 잡아먹은 게 아까워서 적어둔다.

덧글

댓글 입력 영역



YES24