zoukankan      html  css  js  c++  java
  • 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
    }



  • 相关阅读:
    Unique Binary Search Trees——LeetCode
    Binary Tree Inorder Traversal ——LeetCode
    Maximum Product Subarray——LeetCode
    Remove Linked List Elements——LeetCode
    Maximum Subarray——LeetCode
    Validate Binary Search Tree——LeetCode
    Swap Nodes in Pairs——LeetCode
    Find Minimum in Rotated Sorted Array——LeetCode
    Linked List Cycle——LeetCode
    VR AR MR
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2218368.html
Copyright © 2011-2022 走看看