2009-08-05 168 views
2

我的滾動條繪製方式有問題。由於外部限制(我的應用程序是在通過任何常規的子窗口中的繪畫堅持的對外窗口運行的插件),我必須使用SCROLLBAR -class窗口(而不是使用WS_CHILD | WS_VSCROLL滾動條閃爍

對於接收的幾乎每一個消息,滾動條顯示動畫順利和一致。但是,當我收到SB_LINEDOWN消息(即,當我單擊底部/右箭頭時)時,滾動條閃爍可怕(Low-framerate example)。同樣,所有其他信息都可以完美工作

我測試了刪除滾動條位置更新(仍然中斷),並刪除實際的滾動代碼(仍然中斷)。我已經雙緩衝區,以防止更糟糕的閃爍..

什麼可能會導致這一點,我怎麼能解決它?

+0

這真的很奇怪,我真的不知道,它可以幫助我,並且幾乎肯定會幫助其他人,如果你張貼一些代碼 – 2009-08-05 20:28:26

回答

1

除了Goz提到的,我敢打賭你已經在做什麼,它可能是值得在滾動條窗口本身和它的容器或任何重疊實驗WS_CLIPCHILDREN和WS_CLIPSIBLINGS的組合windows

+0

我仍然需要進一步測試,但它似乎添加WS_CLIPCHILDREN父級作品。 – 3Doubloons 2009-08-06 13:23:34

+0

這是一個明確的耶! – 3Doubloons 2009-08-06 13:59:24

0

嘗試攔截並忽略WM_ERASEBKGND,這幫助我控制閃爍很多。不知道如果它的問題雖然:(