vs2010按钮自绘同时响应点击处理
2016-01-05 17:38
246 查看
注意:!!!!不能忘记右键属性,选择自绘
1.创建自定义按钮类,右键选择类向导,对话框中选择添加类。
弹出对话框,写上类名,基类,可以选择自动化
2.然后再选择类向导,在类名一项选择刚刚创建的类,为该类添加虚函数DrawItem。
3.创建按钮。为按钮添加类成员变量,全部都可以为手写!!!不用选择!!!。
4.双击按钮,即可添加单击响应函数,也不影响按钮被选中时的按钮状态。
5.自绘代码:
1.创建自定义按钮类,右键选择类向导,对话框中选择添加类。
弹出对话框,写上类名,基类,可以选择自动化
2.然后再选择类向导,在类名一项选择刚刚创建的类,为该类添加虚函数DrawItem。
void CDrawBotton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { if(<span style="font-family: Arial, Helvetica, sans-serif;">lpDrawItemStruct->itemState</span> & ODS_SELECTED) //判断是否选择控件(等同于是否按下) { //执行代码
}
}
3.创建按钮。为按钮添加类成员变量,全部都可以为手写!!!不用选择!!!。
4.双击按钮,即可添加单击响应函数,也不影响按钮被选中时的按钮状态。
5.自绘代码:
CDC *pdc = GetDC(); CDC dcMain; dcMain.CreateCompatibleDC(pdc); CBitmap *pOldBmp, bmpMain; BITMAP bm; RECT *pRt = &lpDrawItemStruct->rcItem; if(lpDrawItemStruct->itemState & ODS_SELECTED) bmpMain.LoadBitmap(m_BitmapDown); else bmpMain.LoadBitmap(m_BitmapUp); bmpMain.GetBitmap(&bm); pOldBmp = dcMain.SelectObject(&bmpMain); pdc->StretchBlt(pRt->left,pRt->top,pRt->right - pRt->left,pRt->bottom - pRt->top ,&dcMain, 0, 0, bm.bmWidth, bm.bmHeight, SRCCOPY); dcMain.SelectObject(pOldBmp); bmpMain.DeleteObject(); DeleteDC(dcMain); ReleaseDC(pdc); CString strText; GetWindowText(strText); // Draw the button text using the text color red. COLORREF crOldColor; if (lpDrawItemStruct->itemState & ODS_SELECTED) crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, 0x875F00); else crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, 0x000000); ::SetBkMode(lpDrawItemStruct->hDC, TRANSPARENT); ::DrawText(lpDrawItemStruct->hDC, strText, strText.GetLength(),&lpDrawItemStruct->rcItem, DT_SINGLELINE|DT_VCENTER|DT_CENTER); ::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
相关文章推荐
- android wifi 调试
- iOS中UDP通信
- POJ 3017 Cut the Sequence(dp+单调队列)
- iOS中摄像头/相册获取图片,压缩图片,上传服务器方法总结
- 【C#——揭开你的面纱】
- 使用mysqlbinlog server远程备份binlog的脚本
- Spring Boot 性能优化
- sql while循环语句中CONTINUE 回到循环开始 / BREAK 跳出循环
- Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
- dcmtk程序包简介
- PHP个推for iOS demo实例
- 大型网站架构演变和知识体系
- apache开源项目-- OODT
- python中字符串中的链接转化为超链接
- 数据分析-人群画像和目标群体分析
- 非常全面的PHP header函数设置HTTP头的示例
- 线程基础:线程(2)——JAVA中的基本线程操作(上)
- Android实现UDP通信
- 常用HTML代码片段
- HBase编程实例