问个很基本的问题!我在新建一个对话框的程序里有
void CEDlg::OnPaint() 
{
CPaintDC dc(this); // device context for paintin
    CPen *newPen,*oldPen;
    newPen=new CPen(PS_SOLID,2,RGB(0,64,0)); 
    oldPen=dc.SelectObject(newPen); int lefttopx = 40;
int lefttopy = 100;
int rightbotx = 340;//(int)(p_Doc->m_dLengthx+lefttopx);
int rightboty = 300;//(int)(p_Doc->m_dLengthy+lefttopy);
dc.MoveTo(lefttopx,lefttopy);
dc.LineTo(lefttopx,rightboty);
dc.LineTo(rightbotx,rightboty);
dc.LineTo(rightbotx,lefttopy);
dc.LineTo(lefttopx,lefttopy);

dc.SelectObject(pOldBrush);
delete newPen;

}
中,我想显示一个300*200的方框,觉得显示的不大对,所以我用一个按钮做了的300*200的对比,果然显示的方框比按钮小了许多,这个是怎么回事,比例是正常的3:2

解决方案 »

  1.   

    应该是一致的,直接画方框看看嘛。 CBrush brush;
    brush.CreateSolidBrush(RGB(0,0,0)); 
    GetDC()->FillRect(CRect(40,100,340,300),&brush);
      

  2.   

    我觉得,你画出来的方框尺寸应该是正确的,反而button会有问题。如果你在资源里面手工调整的button的大小,那么肯定是偏大的,因为这里不是以像素为单位的,好像是和字体成比例的。你如果用CButton->MoveWindow(0,0,300,200);看看,button的大小和方框的大小应该是一样的