zoukankan      html  css  js  c++  java
  • 【MFC 】关于对话框中的OnVScroll() 和 OnHScroll

        对话框中的滑块,微调控件都会向OnVScroll() 和OnHScroll()发送消息。
       所以,要想对滑块,微调控件有效控制,就要对这两个函数(改写对话框的这两个函数)进行控制。
        如:
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    //   控制两个独立的滑块
    ///////////////////////////////////////////////////////////////////////////////////////////////////
        voidCex08aDialog::OnHScroll(UINTnSBCode, UINT nPos, CScrollBar* pScrollBar)
        {
            // TODO:在此添加消息处理程序代码和/或调用默认值
            //Slider
            CSliderCtrl* pSlider =(CSliderCtrl*)pScrollBar;
            CString strText;
           
            switch(pSlider->GetDlgCtrlID() )
            {
               //Slider1
               case IDC_SLIDER1:
                       strText.Format( _T("%d"), pSlider->GetPos() );
                       SetDlgItemText( IDC_STATIC_SLIDER1, strText );
                       break;
               //Slider2
               case IDC_SLIDER2:
                       strText.Format( _T("%3.1f"),dValue[pSlider->GetPos()] );
                       SetDlgItemText( IDC_STATIC_SLIDER2, strText );
                        break;
                //dValue[6]= {1.5, 3.0, 4.5, 6.0, 7.5,8.0};
             }
             CDialog::OnHScroll(nSBCode,nPos, pScrollBar);
         }
     
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    //   控制微调
    ///////////////////////////////////////////////////////////////////////////////////////////////////
         voidCex08aDialog::OnVScroll(UINTnSBCode, UINT nPos, CScrollBar* pScrollBar)
         {
              //TODO: 在此添加消息处理程序代码和/或调用默认值
              if( nSBCode== SB_ENDSCROLL )
             {
                 return;
             }
              //SpinButton
              if(pScrollBar->GetDlgCtrlID() == IDC_SPIN1 )
             {
                 CString strValue;
                 strValue.Format( _T("%3.1f"), (double)nPos / 10.0 );
                 //((CSpinButtonCtrl*)pScrollBar)->GetBuddy()->SetWindowTextW(strValue );
                 CEdit* pEdit =(CEdit*)((CSpinButtonCtrl*)pScrollBar)->GetBuddy();
                 pEdit->SetWindowTextW( strValue );
              }
    
              CDialog::OnVScroll(nSBCode,nPos, pScrollBar);
          }


  • 相关阅读:
    2019年面试题1
    面试题
    vsftp多个用户公享同一个文件,但是权限不同
    centos7搭建ftp
    安装v2ra y
    centos7安装lamp
    日升昌面试题
    一些插件
    面试被怼集(字节跳动篇)
    TOMCAT原理详解及请求过程(转载)
  • 原文地址:https://www.cnblogs.com/eaglediao/p/7136503.html
Copyright © 2011-2022 走看看