Windows Mobile 사용자 지정 SIP를 만들고 사용자가 키보드의 단추를 누르거나 "가리키면"해당 선택된 이미지 (iPhone-esque)가 화면의 :: GetDC (NULL)를 사용하는 DC. 이것은 Win32 C++에서 개발되었습니다.화면의 DC C++로 그리기 후 강제로 화면 다시 그리기
내 문제는 이전에 그려진 키를 지우면서 화면 자체를 다시 칠할 수 없다는 것입니다. 나는 강제로 생각할 수있는 모든 것을 시도했다 : :: RedrawWindow()는 NULL을 사용하는 params의 모든 다른 콤보 또는 HWND와 Get ..Window 함수 중 하나와 모든 플래그 조합 (INVALIDATE | UPDATENOW | ERASENOW | ALLCHILDREN 등). 나는 또한 rect 무효화 시도하고 기본 응용 프로그램의 repaint :: GetActiveWindow 및 :: GetForegroundWindow, :: GetDesktopWindow 등을 사용하여 변형 강제로 시도했다. 나는 아이디어를 본질적으로 실행했습니다 그리고 그것에서 최대 날 지주 내 Windows Mobile 장치에서 사용하고 있습니다. 누구든지 아이디어가 있습니까? 어떤 도움이라도 대단히 감사하겠습니다.
내 딜레마를 설명하는 몇 가지 스크린 샷을 포함 시켰습니다. 사전에
Before Screenshot
After Screenshot
Before http://img13.imageshack.us/img13/9861/cezoom1.pngAfter http://img3.imageshack.us/img3/7481/cezoom2.png
감사합니다!
흥미로운 접근 방법입니다. 감사드립니다. DC가 캐싱을한다고는 생각하지 않습니다. 버튼이 내 모금 패널 외부로 그려지는 경우에만 문제가 발생하기 때문입니다. 나는 그들이 화면에 그려지는 경우에도 패널 안의 단추로이 문제가 발생하지 않습니다. –
패널 안의 버튼은 파란색으로 선택된 팝업 버튼을 의미합니다. (다른 모든 단추는 비트 맵으로 그려지고 blt은 화면이 아니라 내 모금 패널의 DC로 바뀝니다) –