vs2010按钮自绘同时响应点击处理
来源:互联网 发布:网络攻击与防御技术 编辑:程序博客网 时间:2024/04/19 00:47
注意:!!!!不能忘记右键属性,选择自绘
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);elsebmpMain.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);elsecrOldColor = ::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);
0 0
- vs2010按钮自绘同时响应点击处理
- cocos2dx多个按钮同时响应点击事件
- 自绘按钮响应单击消息
- 自绘按钮响应单击消息
- android 同时点击两个按钮或其他控件均响应的问题
- eclipse点击按钮无响应
- ios11按钮点击不响应.
- 按钮频繁点击处理
- 点击一个按钮时同时另一个按钮也要被点击
- uibutton uiview点击不同时响应
- Android中点击Button按钮或响应业务处理后如何隐藏输入法键盘
- iOS中超出父视图的按钮点击事件响应处理
- iOS 禁用多按钮同时点击效果
- ios禁用多按钮同时点击
- iOS解决两个按钮同时点击问题
- Android下listview每个Item中包含有按钮,为什么在点击某一行按钮的时候,同时有多行button触发了响应事件?
- 自定义dialog响应按钮点击事件
- js控制按钮,防止频繁点击响应
- 【C#——揭开你的面纱】
- POJ 3017 Cut the Sequence(dp+单调队列)
- iOS中UDP通信
- PDF的加密解密,解密后随便怎么玩
- Https SSL Knowledge & how to get a self-signed certificate on ubuntu.
- vs2010按钮自绘同时响应点击处理
- GreenDAO-Android 轻量级ORM数据库框架
- swift元组的理解和讲解
- 安卓自定义View基础-坐标系
- CentOS7配置免密码登陆
- ORA-38760: This database instance failed to turn on flashback database
- URL特殊字符的转义
- Android 9-patch 九图的制作与使用
- Android编译选项eng、user、userdebug的区别