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

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


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


