Я создаю пользовательский SIP для Windows Mobile и, когда пользователь нажимает или «наводит» курсор на кнопку на клавиатуре, я рисую его соответствующее выбранное изображение (iPhone-esque) в DC экрана, используя :: GetDC (NULL). Разработано в Win32 C ++.
Моя проблема в том, что я не могу заставить экран перекрашиваться, стирая ранее нарисованный ключ. Я перепробовал все, что мог придумать, чтобы заставить его, :: RedrawWindow () со всеми различными комбинациями параметров, используя NULL или любую из функций Get..Window в качестве HWND, и все комбинированные флаги (INVALIDATE | UPDATENOW | ERASENOW | ALLCHILDREN и т. Д.). Я также попытался сделать недействительным прямоугольник и принудительно перекрасить основное приложение, используя :: GetActiveWindow и :: GetForegroundWindow, варианты, используя :: GetDesktopWindow и т. Д. У меня практически закончились идеи, и это последнее, что меня удерживает от используя его на моем устройстве Windows Mobile. У кого-нибудь есть какие-либо идеи? Любая помощь будет принята с благодарностью.
Я включил несколько скриншотов, чтобы проиллюстрировать мою дилемму.
Перед снимком экрана
После скриншота
До http://img13.imageshack.us/img13/9861/cezoom1.png После http://img3.imageshack.us/img3/7481/cezoom2.png
Заранее спасибо!