2013-07-23 42 views
0

我創建了一個鏈接的Slider ControlEdit Control,以便移動滑塊更改編輯框的文本,並手動編輯文本以移動滑塊。大多數情況下它可以工作,但是在拖動Slider時釋放鼠標按鈕後,Edit Control顯示爲0.拖動它時確實顯示正確的值。編輯控件顯示滑塊控件位置的讀數

我可以通過添加if(nPos != 0)子句來部分解決問題,該子句會停止發生此問題。但是,當我單擊以移動Slider而不是拖動時,Edit Control不會更新。

當我點擊而不是拖動Slider時,是否需要不同的處理程序?或者我做錯了什麼?

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

回答

2

如果嘗試直接與GetPos提取滑塊的位置,而不是使用nPos參數會發生什麼?

+0

不明白爲什麼它應該有所作爲,但它的工作,謝謝。 –