2008-10-28 3 views
2

int/long을 반환하는 win32gui.GetDC를 사용하여 다른 프로그램에서 객체의 창 핸들에 대한 DC를 얻고 있습니다. 이 DC를 파이썬의 메모리 DC에 블릿해야한다. 유일한 방법은 win32gui가 반환하는 int/long에서 wxDC 파생 ​​개체를 가져 오는 것입니다. wxDC 개체로는 내가 알 수있는 것으로부터 실제 DC 핸들을 전달할 수 없습니다. 이것은 물론 내 blit을하지 못하게합니다. 이 일을 할 수있는 방법이 있습니까?wxPython wxDC 객체 from win32gui.GetDC

답변

1

wxWidgets 소스를 다운로드하여 주위를 파고 들었습니다. 정상적으로 작동한다고 생각합니다.

외부 창에는 DC가 아닌 핸들 (HWND)이 필요합니다.

0

내가 알 수있는 것부터, 파이썬의 DC는 플랫폼 변형으로 추상화되었습니다. 따라서 많은 메서드가 직접 Windows 메서드 호출인데도 python의 장치 컨텍스트는 Windows의 장치 컨텍스트에 직접 매핑되지 않습니다. 이렇게하려면 직접 DC 핸들을 설정할 수 있도록 자신 만의 DelegateDC 클래스 또는 Windows 용으로 비슷한 클래스를 만들어야합니다.

또한 wxWindow에서 wxWindowDC를 얻을 수있는 창 핸들에 wxWindow를 첨부하는 방법이있을 수 있습니다.

+0

나는 최근에 비슷한 것을해야했고 같은 결론을 내 렸습니다. 그러나 나는 몇 시간을 들여서 아직 길을 찾고 있습니다. – FogleBird