当前位置:首页 > 技术问答集
firefox

请教一个关于OnPaint()的问题

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

我在mycolordlg中定义了变量crect   rect;  
    在onpaint()中的一部分代码如下:  
                                      left   =   rect.left   ;  
  itoa(left,s,10);  
  afxmessagebox(s);  
  pnewbrush.deleteobject();  
  pnewbrush.createsolidbrush(rgb(128,0,0));  
  poldbrush   =   dc.selectobject(&pnewbrush);  
  dc.rectangle(&rect);  
                    dc.selectobject(poldbrush);  
   
  在onbutton1()的中定义了rect,代码如下:  
        cwnd   *t;  
        cdc   *pdc;  
        t   =   cwnd::getdlgitem(idc_color);  
        pdc   =   t->getdc();  
        t->getwindowrect(&rect);  
        h   =   rect.left;  
        itoa(h,s,10);  
        afxmessagebox(s);  
        invalidate();  
  我想知道为什么两个函数的rect的值会不同呢?

· 网友精彩回答:

发表者:fisker0303

getwindowrect得到的是屏幕坐标吧,cwnd::screentoclient转换下试试。

发表者:motolola

onbutton1()的rect是控件idc_color的大小.  
   
  onpaint()的rect是重绘窗口的大小,不是一个窗口.

发表者:lixiaosan

一个是屏幕坐标  
  一个是对话框坐标  
   
  http://www.yesky.com/467/173467.shtml

发表者:cumtbwxj

我帮你顶起来了  
   
  解决了要给我分哦

.
© 2006-2008 All Rights Reserved