在 MFC 中,CSliderCtrl 类提供了 SetBuddy 方法,用于将滑块控件与一个或两个 "伙伴" 控件相关联,以便在滑块的两侧显示当前值。该方法的声明如下:
void SetBuddy(
   CWnd* pWndBuddy,
   BOOL bLocation = TRUE
);

其中,pWndBuddy 参数是指向伙伴控件的指针,bLocation 参数用于指定伙伴控件的位置,如果为 TRUE,伙伴控件将显示在滑块的右侧,如果为 FALSE,伙伴控件将显示在滑块的左侧。

以下是一个简单的示例,演示如何使用 SetBuddy 方法将滑块控件与编辑框关联起来:
// 假设已经创建了 CSliderCtrl 和 CEdit 对象
CSliderCtrl m_slider;
CEdit m_edit;

m_slider.Create(WS_CHILD | WS_VISIBLE | TBS_AUTOTICKS, CRect(10, 10, 200, 30), this, IDC_SLIDER1);
m_edit.Create(WS_CHILD | WS_VISIBLE | ES_READONLY, CRect(210, 10, 280, 30), this, IDC_EDIT1);

// 将编辑框设置为滑块的右侧伙伴
m_slider.SetBuddy(&m_edit, TRUE);

在这个示例中,我们创建了一个水平滑块控件和一个只读编辑框。然后,使用 SetBuddy 方法将编辑框设置为滑块的右侧伙伴。这样,编辑框将显示当前滑块的值。请根据实际需求适当调整代码。


转载请注明出处:http://www.zyzy.cn/article/detail/22355/MFC/CSliderCtrl