在xp下,MFC+OpenGL有時候會出現(xiàn)花屏的現(xiàn)象,在Win7下卻運(yùn)行良好。XP下的花屏“效果”如下圖所示:

雖然關(guān)掉彈出的對話,能正常顯示,但對用戶來說卻不友好。
原因:
在Win7下,當(dāng)拖動頂層的對話框時候,不會調(diào)用View刷新視圖。而在Xp下,卻調(diào)用了View的EraseBackground消息,卻沒有調(diào)用WM_PAINT消息。
而一般OpenGL的程序,都會響應(yīng)EraseBK消息,直接返回為True。
解決辦法:
檢查是否為XP,若是則在EraseBk響應(yīng)函數(shù)里面重繪視圖。當(dāng)然能夠避免XP在這種情況下調(diào)用EraseBk消息最好。
