zoukankan      html  css  js  c++  java
  • C++ Code_Slider

    主题

    1. 滑块控件属性设置

    2. 使用滑块控件设置颜色

    3. 显示Slider的数值

    4.

    5.

        

    属性

    滑块控件属性设置

    //代码设置属性

     

        

    代码::

     

    /////////////////////////////////////////////////////////////////////////////
    // CProject02Dlg dialog
    //class CProject02Dlg : public CDialog
    //{
    // Construction
    //public:
    //    CProject02Dlg(CWnd* pParent = NULL);    // standard constructor
        COLORREF m_clColor;

    // Dialog Data

    在CProject02Dlg中右键添加个Add MemberFunction

     

    void CProject02Dlg::updatePicCtrl()
    {
        CDC * pDC = m_ctrl_pic1.GetDC();
        CRect rc;
        m_ctrl_pic1.GetClientRect(rc);
        pDC -> FillRect(rc, & CBrush(m_clColor));
        m_ctrl_pic1.ReleaseDC(pDC);
    }
     
    BOOL CProject02Dlg::OnInitDialog() 部分添加slider的初始化部分代码
        // TODO: Add extra initialization here
        m_ctrl_Slider1_Red.SetRange(0,255,FALSE);
        m_ctrl_Slider2_Green.SetRange(0,255,FALSE);
        m_ctrl_Slider3_Blue.SetRange(0,255,FALSE);
     
     
    void CProject02Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
     
        // TODO: Add your message handler code here and/or call default
        if (nSBCode == SB_THUMBTRACK)
        {
            if (pScrollBar -> m_hWnd == m_ctrl_Slider1_Red.m_hWnd)
            {
                m_nEdt1_Red = nPos;
                UpdateData(FALSE);
            }
            
            if (pScrollBar -> m_hWnd == m_ctrl_Slider2_Green.m_hWnd)
            {
                m_nEdt2_Green = nPos;
                UpdateData(FALSE);
            }
            
            if (pScrollBar -> m_hWnd == m_ctrl_Slider3_Blue.m_hWnd)
            {
                m_nEdt3_Blue = nPos;
                UpdateData(FALSE);
            }
            
            m_clColor = RGB(m_nEdt1_Red,m_nEdt2_Green,m_nEdt3_Blue);
            updatePicCtrl();
        }
        CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
    }
     
    //为每个Edit添加个EN_Change消息
    void CProject02Dlg::OnChangeEdit1()
    {
        // TODO: If this is a RICHEDIT control, the control will not
        // send this notification unless you override the CDialog::OnInitDialog()
        // function and call CRichEditCtrl().SetEventMask()
        // with the ENM_CHANGE flag ORed into the mask.
        
        // TODO: Add your control notification handler code here
        UpdateData(TRUE);
        m_ctrl_Slider1_Red.SetPos(m_nEdt1_Red);
        updatePicCtrl();    
    }
    void CProject02Dlg::OnChangeEdit2()
    {
        // TODO: If this is a RICHEDIT control, the control will not
        // send this notification unless you override the CDialog::OnInitDialog()
        // function and call CRichEditCtrl().SetEventMask()
        // with the ENM_CHANGE flag ORed into the mask.
        
        // TODO: Add your control notification handler code here
        UpdateData(TRUE);
        m_ctrl_Slider2_Green.SetPos(m_nEdt2_Green);
        updatePicCtrl();    
    }
     
    void CProject02Dlg::OnChangeEdit3()
    {
        // TODO: If this is a RICHEDIT control, the control will not
        // send this notification unless you override the CDialog::OnInitDialog()
        // function and call CRichEditCtrl().SetEventMask()
        // with the ENM_CHANGE flag ORed into the mask.
        
        // TODO: Add your control notification handler code here
        UpdateData(TRUE);
        m_ctrl_Slider3_Blue.SetPos(m_nEdt3_Blue);
        updatePicCtrl();
        
    }
        

    效果图:

     
     
     




    附件列表

    • 相关阅读:
      c# 串口所有数据接收 到串口的数据全部处理
      c# 串口调试
      GMap.net离线地图 教程连接
      (转).net 开发人员如何自处
      网址
      文本--->多字节
      .NET 数据库sa
      JAVA线程池
      使用visualvm远程监控JVM
      Session概述(选自WebX)
    • 原文地址:https://www.cnblogs.com/xe2011/p/3885726.html
    Copyright © 2011-2022 走看看