QQ登录

只需一步,快速开始

98上位机VC MFC滑块控件控制RGB颜色值

[ 复制链接 ]

98上位机VC MFC滑块控件控制RGB颜色值

98上位机VC MFC滑块控件控制RGB颜色值

98上位机VC MFC滑块控件控制RGB颜色值


功能展示

滑块控件也是我们常见的控件,如播放音乐时,调节进度与音量,我们当前例程通过三个滑块来调节颜色的RGB什,并将结果填充到一个矩形框显示效果,具体效果如图;
要点提示
在对话框中滑块的滑动响应可以通过NM_RELEASECAPTURE消息或WM_VSCROLL,WM_HSCROLL来处理;我们当前例程的滑块是水平滚动属性,所以我用添加WM_HSCROLL的处理函数来处理滑动的消息;





实现功能
1.新建基于对话框的应用程序
2.拖拽三个滑块控件,ID分别改为IDC_RSLIDER,IDC_GSLIDER, IDC_BSLIDER,并关联变量CSliderCtrl  m_RSlider; CSliderCtrl  m_GSlider; CSliderCtrl  m_BSlider;
拖拽三个静态文本控件,用于显示RGB值,ID分别改为IDC_RVALUE,IDC_GVALUE,IDC_BVALUE.添加一个图片控件,用于显示颜色效果,ID改为IDC_RECT;

3.添加OnHScroll()用于响应滑动消息,添加FillRect()用于填充矩形及刷新RGB颜色值;
  1. void CGkbc8Dlg::FillRect()
  2. {
  3.         //填充矩形区域
  4.         CDC *pDC = GetDlgItem(IDC_RECT)->GetDC();
  5.         CRect rc;
  6.         GetDlgItem(IDC_RECT)->GetClientRect(&rc);
  7.         CBrush brush(RGB(m_RSlider.GetPos(),m_GSlider.GetPos(),m_BSlider.GetPos()));
  8.         pDC->FillRect(&rc,&brush);
  9.         ReleaseDC(pDC);

  10.         //显示RBG值
  11.         CString str;
  12.         str.Format("%d",m_BSlider.GetPos());
  13.         SetDlgItemText(IDC_BVALUE,str);
  14.         str.Format("%d",m_GSlider.GetPos());
  15.         SetDlgItemText(IDC_GVALUE,str);
  16.         str.Format("%d",m_RSlider.GetPos());
  17.         SetDlgItemText(IDC_RVALUE,str);
  18. }
复制代码
  1. void CGkbc8Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
  2. {
  3.         // TODO: Add your message handler code here and/or call default
  4.         // 强制转换成CSliderCtrl
  5.     CSliderCtrl* pSlider = (CSliderCtrl*)pScrollBar;
  6.         //如果当前操作R,B,G滑动条时
  7.         if( pSlider->m_hWnd == m_RSlider.m_hWnd||
  8.                 pSlider->m_hWnd == m_GSlider.m_hWnd||
  9.                 pSlider->m_hWnd == m_BSlider.m_hWnd)
  10.         {
  11.                 FillRect();//填充矩形,显示R,G,B值
  12.         }
  13.         CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
  14. }
复制代码
我们来演示下功能实现的整个过程

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:98.上位机VC MFC滑块控件控制RGB颜色值.rar 
文件大小:132.15 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!



回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索