首页 > 其他 > 详细

学习:单选框和多选框

时间:2020-02-07 18:29:18      阅读:59      评论:0      收藏:0      [点我收藏+]

实现颜色与图形变换的例子:

/*
D:\Visual_Studio_repos\MFC\2*/
void CMFCApplication2Dlg::OnBnClickedCheck3()
{
    Invalidate(); //重写绘图,会调用OnEraseBkgnd事件
}
BOOL CMFCApplication2Dlg::OnEraseBkgnd(CDC* pDC)
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    bool ret =  CDialogEx::OnEraseBkgnd(pDC);
    
    //定义颜色变量
    int rgb_red, rgb_green, rgb_blue;
    
    rgb_red = chk_red.GetCheck() ? 255 : 0;
    rgb_green = chk_green.GetCheck() ? 255 : 0;
    rgb_blue = chk_blue.GetCheck() ? 255 : 0;

    COLORREF m_Color = RGB(rgb_red, rgb_green, rgb_blue);

    CBrush brush;
    CBrush *OldBrush;

    brush.CreateStockObject(m_Color);
    OldBrush = pDC->SelectObject(&brush); //保存默认的的画刷, 之后进行恢复,作用避免内存泄露
    RECT rect = {50,20,200,180};

        //绘图
    if (r_rect.GetCheck()) {
        pDC->Rectangle(&rect);
    }
    else {
        pDC->Ellipse(&rect);
    }
    
    pDC->SelectObject(OldBrush); //恢复老的画刷,避免内存泄露
    return ret;
}

技术分享图片

学习:单选框和多选框

原文:https://www.cnblogs.com/zpchcbd/p/12272846.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!