için çizim sonra yeniden çizme ekran en DC kullanarak :: GetDC (NULL). Win32 C++ 'da geliştirilmiştir.Kuvvet ekran ekranın DC C++ Windows Mobile özel SIP oluşturma ve ben onu seçili resmi tekabül ediyor çizmek klavyede bir düğme üzerinde kullanıcı presler veya "üzerine geldiğinde" (iPhone-esque) için yaşıyorum
Sorunum, daha önce çizilen anahtarın silinmesi için ekranın kendisini yeniden çizilememesidir. Onu zorlamak için düşünebildiğim her şeyi denedim, :: RedrawWindow(), NULL veya GetWindow işlevlerinin HWND ve tüm açılan bayrakları (INVALIDATE | UPDATENOW | ERASENOW ALLCHILDREN vb. Ayrıca, rect'i geçersiz kılmayı denedim ve :: GetActiveWindow ve :: GetForegroundWindow'u kullanarak temeldeki uygulamanın bir rötuşunu zorlamayı denedim: :: GetDesktopWindow, vb. Kullanarak varyasyonlarım var. Windows Mobile cihazımda kullanıyorum. Herhangi bir fikri olan var mı? Herhangi bir yardım büyük takdir edilecektir.
İkilemimi göstermek için bazı ekran görüntüleri ekledim. peşin
Before Screenshot
After Screenshot
Before http://img13.imageshack.us/img13/9861/cezoom1.pngAfter http://img3.imageshack.us/img3/7481/cezoom2.png
teşekkürler!
Bu ilginç bir yaklaşım, ona bir şans vereceğim. DC'nin önbellekleme yaptıklarına inanmıyorum çünkü sorun sadece düğmeler sip panelimin dışına çıkarıldığında (üstte) ortaya çıkar. Ekrana çizilse bile, panelde düğmelerle bu prob yok. –
Panelin içinde düğmeler dediğimde, mavi seçili açılan düğmeleri kastediyorum. (tüm diğer düğmeler bir bitmap'e çizilir ve ardından ekranımdaki değil, ekranımdaki DC'ye yanıp söner) –