MFC 字体样色 文本背景色 设置
编写一个基于对话框的程序,在对话框上直接显示文本(不是在控件上显示)。但是,文本显示时候,总是有一个白色的矩形最为背景,文字就显示在这个白色的矩形中。而我将对对话框颜色设...
编写一个 基于对话框的程序, 在对话框上直接显示文本(不是在控件上显示)。
但是,文本显示时候,总是有一个白色的矩形最为背景,文字就显示在这个白色的矩形中。而我将对对话框颜色设置成 绿色了。
请问,如何让这个白色的背景色消除掉? 展开
但是,文本显示时候,总是有一个白色的矩形最为背景,文字就显示在这个白色的矩形中。而我将对对话框颜色设置成 绿色了。
请问,如何让这个白色的背景色消除掉? 展开
3个回答
展开全部
很简单。。对大家有用的赞个啊。。。。
1,新建基于对话框的mfc程序。
添加一个static标签控件,ID为:IDC_STATIC_DEMO
在CXXXDlg类中添加一个类型为CBrush的成员吵敬散变量m_brs;
m_brs.CreateSolidBrush(RGB(0,0,55));//需要程序使用的背景画刷
并且在CXXXDlg的构造函数中添加一行代码
在CXXXDlg中添加WM_CTLCOLOR消息处理函数
然后在OnCtlColor中写下面的代码:
if(IDC_STATIC_DEMO==pWnd->GetDlgCtrlID())//判断正在绘制的是不是我们需要改变的控件
{
pDC->SetBkMode(TRANSPARENT);//设置透明输出
pDC->SetTextColor(RGB(255,0,0));/稿早/设置文字颜色
return m_brs;//用自定义的画刷去绘制背景
}
这样。。。就OK了。。
亲,给点分吧,这升氏年头,不容易啊。。。别忘了哦。。。
PS:如果要该按钮的,需要添加DrawItem这个虚函数去搞定。。。。
1,新建基于对话框的mfc程序。
添加一个static标签控件,ID为:IDC_STATIC_DEMO
在CXXXDlg类中添加一个类型为CBrush的成员吵敬散变量m_brs;
m_brs.CreateSolidBrush(RGB(0,0,55));//需要程序使用的背景画刷
并且在CXXXDlg的构造函数中添加一行代码
在CXXXDlg中添加WM_CTLCOLOR消息处理函数
然后在OnCtlColor中写下面的代码:
if(IDC_STATIC_DEMO==pWnd->GetDlgCtrlID())//判断正在绘制的是不是我们需要改变的控件
{
pDC->SetBkMode(TRANSPARENT);//设置透明输出
pDC->SetTextColor(RGB(255,0,0));/稿早/设置文字颜色
return m_brs;//用自定义的画刷去绘制背景
}
这样。。。就OK了。。
亲,给点分吧,这升氏年头,不容易啊。。。别忘了哦。。。
PS:如果要该按钮的,需要添加DrawItem这个虚函数去搞定。。。。
展开全部
文字的背景模式
int SetBkMode(
HDC hdc, // DC句柄
int iBkMode // 背景模式 OPAQUE/咐携TRANSPARENT
);
注:文字的背答扮景清简灶模式设置为TRANSPARENT(透明模式)
int SetBkMode(
HDC hdc, // DC句柄
int iBkMode // 背景模式 OPAQUE/咐携TRANSPARENT
);
注:文字的背答扮景清简灶模式设置为TRANSPARENT(透明模式)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看看应该有个参数可以设置字体背景色的,把它设置一下试试,具体哪个就不知道了。很多年不搞代码了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询