2009-12-02 4 views
0

저는 거의 익숙하지 않은 win32 windows-mobile 응용 프로그램을 디버깅하려고합니다.하위 창 위치 결정

주기적으로 InvalidateRect (hWnd, NULL, FALSE)를 강제로 실행하고 WM_PAINT 메서드를 호출 할 때마다 GetUpdateRect()가 0,0,0,0을 반환하고 분명히 아무것도 그려지지 않습니다. 명백한. GetWindowRect()와 GetClientRect()는 윈도우가 있고 크기가 0 인 것을 보여줍니다.

나는 그 창문이 그 아이들에 의해 완전히 가려 짐을 짐작하고있다. 하지만이 아이들을 코드에서 찾으려고하는 미로.

어떻게 디버깅해야합니까? 예 : 나는이 어린이들과 그들의 위치를 ​​열거 할 수 있습니까?

답변

0

이미 알고 있겠지만, GetUpdateRect에 대한 호출이 WM_PAINT를 처리하는 동안 BeginPaint에 대한 호출을 수행 한 다음 빈 rect 예상되는 동작입니다. GetUpdateRec에 대한 문서의 설명을 참조하십시오.

BeginPaint 함수로 검색 한 업데이트 사각형은 GetUpdateRect에서 검색 한 업데이트 사각형과 동일합니다.

BeginPaint는 자동으로 업데이트 영역의 유효성을 검사하므로 BeginPaint 호출 직후 GetUpdateRect를 호출하면 빈 업데이트 영역이 검색됩니다.

EnumChildWindows를 사용하여 하위 창을 열거 할 수 있습니다.

0

나는 원격 스파이 ++에서 무슨 일이 일어나고 있는지 살펴볼 것입니다. 또한 FindWindowEx을 호출하여 형제 등을 볼 수도 있습니다.