私はWindows MobileカスタムSIPを作成しています。ユーザーがキーボードのボタンを押すか、「ホバー」すると、対応する選択されたイメージ(iPhone-esque) :: GetDC(NULL)を使用してDC。 Win32 C++で開発されました。画面のDCC++に描画した後に強制描画する
私の問題は、以前描かれたキーを消去して、画面を再描画することはできません。私はそれを強制的に考えることができるすべてを試しました:: RedrawWindow()は、HWNDとしてNULLまたは任意のGet..Window関数を使用するparamsのすべての異なるコンボで、すべてのコンボフラグ(INVALIDATE | UPDATENOW | ERASENOW | ALLCHILDRENなど)。私はまたrectを無効にし、:: GetActiveWindowと:: 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がキャッシングしているとは思えません。なぜなら、問題はボタンが自分のSIPパネル(上にある)の外に引き出されたときだけであるからです。私は画面に描かれているにもかかわらず、パネル内のボタンでこの問題を持っていません。 –
パネル内のボタンとは、青色の選択されたポップアップボタンを意味します。 (他のすべてのボタンはビットマップに描画され、その後、私のSipパネルのDCはスクリーンではなくbltになります) –