Windows 显示滑块控件读数的编辑控件';s位置

Windows 显示滑块控件读数的编辑控件';s位置,windows,winapi,visual-c++,Windows,Winapi,Visual C++,我已经创建了链接的滑块控件和编辑控件,因此移动滑块会更改编辑框的文本,手动编辑文本会移动滑块。在大多数情况下,它可以工作,但当我在拖动滑块时松开鼠标按钮后,编辑控件显示0。当我拖动时,它确实显示了正确的值 我可以通过添加一个if(nPos!=0)子句来部分修复这个问题,它可以阻止这种情况的发生。但是,当我单击以移动滑块而不是拖动时,编辑控件不会更新 单击而不是拖动滑块时是否需要其他处理程序?还是我做错了什么 // Updates slider when value is changed in t

我已经创建了链接的
滑块控件
编辑控件
,因此移动滑块会更改编辑框的文本,手动编辑文本会移动滑块。在大多数情况下,它可以工作,但当我在拖动
滑块时松开鼠标按钮后,
编辑控件显示0。当我拖动时,它确实显示了正确的值

我可以通过添加一个
if(nPos!=0)
子句来部分修复这个问题,它可以阻止这种情况的发生。但是,当我单击以移动
滑块
而不是拖动时,
编辑控件
不会更新

单击而不是拖动
滑块时是否需要其他处理程序?还是我做错了什么

// Updates slider when value is changed in the Edit Box
void CProject1Dlg::OnChangeEdit1() {
    SLIDER_1.SetPos(GetDlgItemInt(IDC_EDIT1) / 1000);
}


// Slider horizontal scroll handler
void CProject1Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
    if (nPos != 0) {
        SetDlgItemInt(IDC_EDIT1, nPos * 1000);
    }

    CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}

如果您尝试直接使用而不是使用
nPos
参数提取滑块的位置,会发生什么情况?

我不太明白为什么它会产生影响,但它起到了作用,谢谢。