在MFC中添加消息响应(给初学者看的)

        本人也是MFC的初学者,今晚在做MFC的过程中遇到了一个问题,就是如何使静态文本响应滑块移动的消息,经过学习,方法如下:

        在目标Dialog框中(是整体不是个别控件)按右键,选择“事件”,“Class or object to handle:”选择Dialog整体的名字,选择WM_HSCROLL,按“确定”就行了。在块中添加自己的语句就行了。

我加入的是

void MyDialog1::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
   if(pScrollBar->GetDlgCtrlID()==IDC_SLIDER1)
   {
    CSliderCtrl* pSlide=(CSliderCtrl*)pScrollBar;
    CString strText;
    strText.Format("%d",pSlide->GetPos());
    SetDlgItemText(IDC_STATIC1,strText);
   } 
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

在OnInitDialog()中加入了

BOOL MyDialog1::OnInitDialog()
{
CString strText;
CSliderCtrl* cc = ((CSliderCtrl*)GetDlgItem(IDC_SLIDER1));
cc->SetRange(15,30);
cc->SetPos(20);
strText.Format("%d",cc->GetPos());
SetDlgItemText(IDC_STATIC1,strText);
}

这样就完成了!

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=29