zoukankan      html  css  js  c++  java
  • [小练eVC]常用控件之微调按钮

    微调按钮是一个简易的滚动条,它经常与一个称为“伙伴窗口”(Buddy Windows)的编辑控件结合在一起使用,他们可以很好的配合,MFC类CSpinButtonCtrl封装了微调控件。本例将把编辑框和微调按钮组合起来,用来输入RGB的三种颜色。
    1、使用eVC创建一个基于MFC的应用程序SpinUse;
    2、设计界面如图:

    对话框空间属性如下
    标识(ID) 描述
    IDC_EDT_RED 编辑框,范围为0-255,对应变量为m_red
    IDC_EDT_GREEN 编辑框,范围为0-255,对应变量为m_green
    IDC_EDT_BLUE 编辑框,范围为0-255,对应变量为m_blue
    IDC_SPIN_RED 微调按钮,需要选中SER BUDDY INTEGER复选框
    IDC_SPIN_GREEN      微调按钮,需要选中SER BUDDY INTEGER复选框
    IDC_SPIN_BLUE 微调按钮,需要选中SER BUDDY INTEGER复选框

    3、在CSPinUseDlg的OnInitDialog中添加如下代码
    CSpinButtonCtrl * pSpinRed= (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_RED);
        ASSERT(pSpinRed
    !=NULL);
        pSpinRed
    ->SetBuddy(GetDlgItem(IDC_EDT_RED));
        pSpinRed
    ->SetRange(0,255);
        pSpinRed
    ->SetPos(128);

        CSpinButtonCtrl 
    * pSpinGreen= (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_GREEN);
        ASSERT(pSpinGreen
    !=NULL);
        pSpinGreen
    ->SetBuddy(GetDlgItem(IDC_EDT_GREEN));
        pSpinGreen
    ->SetRange(0,255);
        pSpinGreen
    ->SetPos(128);

        CSpinButtonCtrl 
    * pSpinBlue= (CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_BLUE);
        ASSERT(pSpinBlue
    !=NULL);
        pSpinBlue
    ->SetBuddy(GetDlgItem(IDC_EDT_BLUE));
        pSpinBlue
    ->SetRange(0,255);
        pSpinBlue
    ->SetPos(128);

    4、用类向导添加在个颜色编辑框的OnChange函数。并添加如下代码。
    void CSpinUseDlg::OnColorChange() 
    {

    UpdateData(TRUE);
    CBrush colorBrush;
    COLORREF clRGB;

    clRGB
    =RGB(m_red,m_green,m_blue);
    CClientDC
    *pClientDC;
    pClientDC
    = new CClientDC(this);
    colorBrush.CreateSolidBrush(clRGB);
    CRect rect(
    100,200,200,300);
    pClientDC
    ->FillRect(rect,&colorBrush);
    delete pClientDC;
            // 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
        
    }

    5、完成编译
  • 相关阅读:
    课堂练习02
    第五周进度条
    软件工程个人作业03
    第四周进度条
    构建之法阅读笔记02
    ---JS canvas学习笔记
    JavaScript 对象、DOM对象、jquery对象的区别、转换详解
    JQM---列车时刻查询
    JS---如何避免用户在请求时“猛击”
    HTML5 新增属性和废除属性
  • 原文地址:https://www.cnblogs.com/karlchen/p/541891.html
Copyright © 2011-2022 走看看