【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);
      }


 

posted @ 2014-05-21 20:26  eaglediao  阅读(1079)  评论(0编辑  收藏  举报