CDC *dc;
CRect rect;
CPen cp;
cp.CreatePen(PS_INSIDEFRAME | PS_SOLID, 3, RGB(162, 189, 252));
dc=m_btnN2.GetDC();
dc->GetWindow()->GetWindowRect(rect);
dc->SelectObject(cp);
dc->MoveTo(100,100);
dc->Rectangle(rect);
我是这样做的,但是矩形不在按扭上。
如果之后把边框取消,再应该怎样画?

解决方案 »

  1.   

    取消边框,可以用背景色替换RGB(162, 189, 252),再重新画个边框。(这个边框线的颜色喝背景色一样,所以看不出,相当于取消了)
    改变按钮背景色:CBrush m_brush;BOOL CDlg::OnInitDialog() 
    {
    CDialog::OnInitDialog();

    // TODO: Add extra initialization here m_brush.CreateSolidBrush(RGB(255,255,255));

    return TRUE;  // return TRUE unless you set the focus to a control
    // EXCEPTION: OCX Property Pages should return FALSE
    }
    HBRUSH CDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    // TODO: Change any attributes of the DC here
    if(nCtlColor==CTLCOLOR_BTN)
    {
    return m_brush;
    }
    // TODO: Return a different brush if the default is not desired
    return hbr;
    }