• slider改变对话框颜色


    COLORREF m_clrBkgndColor;
    CBrush *m_pBkBrush;
    CSliderCtrl *p_sliderRed;
    CSliderCtrl *p_sliderGreen;
    CSliderCtrl *p_sliderBlue;




    BOOL CcolorDlg::OnEraseBkgnd(CDC* pDC)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    if (m_pBkBrush)
    {
    CRect cr;
    GetClientRect(cr);
    pDC->FillRect(&cr,m_pBkBrush);
    return TRUE;
    }

    return CDialogEx::OnEraseBkgnd(pDC);
    }

    void CcolorDlg::SetBackgroundColor(COLORREF color, BOOL bRepaint )
    {
    m_clrBkgndColor=color;
    if (m_pBkBrush)
    {
    delete m_pBkBrush;
    }

    m_pBkBrush=new CBrush(m_clrBkgndColor);
    if (bRepaint)
    {
    Invalidate();
    }

    }


    void CcolorDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    UpdateData();

    int red=p_sliderRed->GetPos();
    int green=p_sliderGreen->GetPos();
    int blue=p_sliderBlue->GetPos();

    SetBackgroundColor(RGB(red,green,blue),TRUE);

    CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
    }

    初始化:

    BOOL CcolorDlg::OnInitDialog()
    {
    。。。。。。。。
    // TODO: 在此添加额外的初始化代码
    m_pBkBrush=NULL;
    p_sliderRed=(CSliderCtrl*)GetDlgItem(IDC_SLIDER1);
    p_sliderRed->SetRange(0,255);

    p_sliderGreen=(CSliderCtrl*)GetDlgItem(IDC_SLIDER2);
    p_sliderGreen->SetRange(0,255);

    p_sliderBlue=(CSliderCtrl*)GetDlgItem(IDC_SLIDER3);
    p_sliderBlue->SetRange(0,255);

    return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
    }



  • 相关阅读:
    Oracle学习(一)SQL基础
    结构型设计模式(二)桥接模式
    dubbo学习(十)spring boot整合dubbo
    dubbo学习(九)dubbo监控中心
    结构型设计模式(一)适配器模式
    取石子游戏
    卡特兰数
    做题中踩过的坑。。。
    51Nod1130斯特林近似
    51Nod1089最长回文子串 V2(Manacher算法)
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2218368.html
Copyright © 2020-2023  润新知