首页 > 代码库 > C++ Code_Slider
C++ Code_Slider
主题 |
1. 滑块控件属性设置 2. 使用滑块控件设置颜色 3. 显示Slider的数值 4. 5. |
属性 |
|
代码:: |
///////////////////////////////////////////////////////////////////////////// // CProject02Dlg dialog //class CProject02Dlg : public CDialog //{ // Construction //public: // CProject02Dlg(CWnd* pParent = NULL); // standard constructor COLORREF m_clColor; // Dialog Data 在CProject02Dlg中右键添加个Add MemberFunction
void CProject02Dlg::updatePicCtrl() { CDC * pDC = m_ctrl_pic1.GetDC(); CRect rc; m_ctrl_pic1.GetClientRect(rc); pDC -> FillRect(rc, & CBrush(m_clColor)); m_ctrl_pic1.ReleaseDC(pDC); } 在BOOL CProject02Dlg::OnInitDialog() 部分添加slider的初始化部分代码 // TODO: Add extra initialization here m_ctrl_Slider1_Red.SetRange(0,255,FALSE); m_ctrl_Slider2_Green.SetRange(0,255,FALSE); m_ctrl_Slider3_Blue.SetRange(0,255,FALSE); void CProject02Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: Add your message handler code here and/or call default if (nSBCode == SB_THUMBTRACK) { if (pScrollBar -> m_hWnd == m_ctrl_Slider1_Red.m_hWnd) { m_nEdt1_Red = nPos; UpdateData(FALSE); } if (pScrollBar -> m_hWnd == m_ctrl_Slider2_Green.m_hWnd) { m_nEdt2_Green = nPos; UpdateData(FALSE); } if (pScrollBar -> m_hWnd == m_ctrl_Slider3_Blue.m_hWnd) { m_nEdt3_Blue = nPos; UpdateData(FALSE); } m_clColor = RGB(m_nEdt1_Red,m_nEdt2_Green,m_nEdt3_Blue); updatePicCtrl(); } CDialog::OnHScroll(nSBCode, nPos, pScrollBar); }//为每个Edit添加个EN_Change消息 void CProject02Dlg::OnChangeEdit1() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // TODO: Add your control notification handler code here UpdateData(TRUE); m_ctrl_Slider1_Red.SetPos(m_nEdt1_Red); updatePicCtrl(); } void CProject02Dlg::OnChangeEdit2() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // TODO: Add your control notification handler code here UpdateData(TRUE); m_ctrl_Slider2_Green.SetPos(m_nEdt2_Green); updatePicCtrl(); } void CProject02Dlg::OnChangeEdit3() { // TODO: If this is a RICHEDIT control, the control will not // send this notification unless you override the CDialog::OnInitDialog() // function and call CRichEditCtrl().SetEventMask() // with the ENM_CHANGE flag ORed into the mask. // TODO: Add your control notification handler code here UpdateData(TRUE); m_ctrl_Slider3_Blue.SetPos(m_nEdt3_Blue); updatePicCtrl(); 效果图: |
来自为知笔记(Wiz)
附件列表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。