CSliderCtrl逆向调整&CTooltips响应--向左累加或向上累加
来源:互联网 发布:电脑编程语言有哪些 编辑:程序博客网 时间:2024/05/20 07:53
参考:http://wenku.baidu.com/view/5821795e3b3567ec102d8a6b.html (推荐读一读这篇文章)
参考:http://bbs.csdn.net/topics/190108914
Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源
我们常用的CSliderCtrl的话,都是为向右累加 或 向下累加:
要实现逆向的话,不能直接实现的了,下边介绍一种使用了的方法。
我们使用Slider是为了获取一个范围,需要:
获取范围 & 同时我们也会要指定一个缺省的范围 & 再一点,我们需要自己定制ToolTips提示
假如我们设置的范围是[0,100]
1. 自己定义两个函数: 完成转换
void CXXXDialog::SetRangePos(int iPos)
{
m_slider.SetPos(100 - iPos);
}
int CXXXDialog::GetRangePos()
{
return 100 - m_slider.GetPos();
}
2. 定制tooltips :需要Slider控件的属性Tooltips为True
Slider控件本身就带有Tooltips,我们只要添加Tooltips响应处理即可
(据参考文档上介绍,所有的CWnd都在pThreadState里面放的有Tooltips,都可以轻松实现Tooltips提醒)
a. 定义事件响应
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTipNotify);
b.定义响应函数中的处理:
BOOL CXXXDialog::OnToolTipNotify(UINT id, NMHDR * pNMHDR, LRESULT * pResult){TOOLTIPTEXT *pToolTipText = (TOOLTIPTEXT *)pNMHDR;UINT nID =pNMHDR->idFrom;if (pToolTipText->uFlags & TTF_IDISHWND){// idFrom is actually the HWND of the toolUINT nCtrlID = ::GetDlgCtrlID((HWND)nID);<strong>if(nCtrlID == IDC_SLIDER_XXX)</strong>{// 这里就是你要显示的Tooltips,可以根据需要来定制CString strToolTips;strToolTips.Format(_T("%d"), GetRangePos());_tcscpy(pToolTipText->lpszText, strToolTips);pToolTipText->hinst = NULL;return(TRUE);}}return(FALSE);}
- CSliderCtrl逆向调整&CTooltips响应--向左累加或向上累加
- 累加
- 累加
- 累加
- 整数累加
- 分数累加
- 分数累加
- 分数累加
- SQL累加
- 分数累加
- 阶乘,累加
- 累加法
- 累加算法
- 累加变累乘
- 99累加
- 9累加
- 99累加
- 99累加
- C/C++学习应读的书
- Windows Server 2012下安装.NET Framework 3.5
- 滴水石穿,奇迹是一点点实现的
- Ubuntu上交叉编译valgrind for Android 4.0.4的过程与注意事项
- 第三代移动通信技术
- CSliderCtrl逆向调整&CTooltips响应--向左累加或向上累加
- Android开发环境搭建流程
- struts2复习
- SP考试复习题——短信技术多选题
- bind出现Address already in use解决方法
- RMAN备份的概念
- OpengGL GLSL Computational Invariance
- mysql常见问题
- EPICS之一个简单的设备支持程序