回 帖 发 新 帖 刷新版面

主题:这段代码有什么用处?

[color=FF0000]注:阅读此贴,您需要看过Charles Petzold《windows程序设计》,或手边有这本书。[/color]
《windows程序设计》鼠标_程序7-6 BLOKOUT1.C
//
       case   WM_PAINT :

   ---------------------
        
   if (fBlocking)
        
                  {
        
                                  SetROP2 (hdc, R2_NOT) ;
        
                                  SelectObject (hdc, GetStockObject (NULL_BRUSH)) ;
        
                                  Rectangle (hdc, ptBeg.x, ptBeg.y, ptEnd.x, ptEnd.y) ;
        
                  }

                 EndPaint (hwnd, &ps) ;
        
                  return 0 ;

 //
 我不明白 if (fBlocking)及括号中的内容有什么用?我试着去掉这段代码,编译后程序执行也看不出和原来有什么区别。

[em10]

回复列表 (共3个回复)

沙发

晕,太晕,这个问题一个月都没人回答哈~
我来告诉你,你要给我加50分哈,否则以后再有问题我可不搭理你了.
区别在于:
===答案在下贴.所以回两贴是为了方便你加满我50分=====

板凳

楼主真正理解WM_PAINT消息了吗?
先按下鼠标,拖动到该程序窗口以外,释放.然后你再用其他的窗口遮盖住该程序窗口,再把那个窗口挪走,你会发现你的blocking还在,这就是这段代码的用途了.

3 楼

还以为我的问题就此石沉大海,caoxin的第二次回贴值50分,谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册