我是靠谱客的博主 坚强棉花糖,最近开发中收集的这篇文章主要介绍MFC改变按钮的颜色,方法简单,实用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

手动添加消息映射的方法实现改变按钮的颜色,不必创建新的类!

1.将button修改为owner draw 类型

2.重载OnDrawItem函数,并对其改写

在适当的位置添加下面的语句

afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);

ON_WM_DRAWITEM()

3.在消息响应函数里添加如下代码:

void CXXX::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct)
{
CDC dc;
dc.Attach(lpDrawItemStruct->hDC);
ASSERT(lpDrawItemStruct->CtlType == ODT_BUTTON);

CString strText;
((CButton *)GetDlgItem(nIDCtl))->GetWindowText(strText);

SetBkMode(lpDrawItemStruct->hDC, TRANSPARENT);
//if (lpDrawItemStruct->itemState&ODS_SELECTED)
{
CBrush brush(RGB(255, 0, 0));
dc.FillRect(&(lpDrawItemStruct->rcItem), &brush);
DrawText(lpDrawItemStruct->hDC, strText, strText.GetLength(),
&lpDrawItemStruct->rcItem, DT_SINGLELINE | DT_VCENTER | DT_CENTER);
SetBkMode(lpDrawItemStruct->hDC, TRANSPARENT);
}
dc.Detach();

}

可以参考:http://blog.sina.com.cn/s/blog_65cab32d01013uad.html

最后

以上就是坚强棉花糖为你收集整理的MFC改变按钮的颜色,方法简单,实用的全部内容,希望文章能够帮你解决MFC改变按钮的颜色,方法简单,实用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部