600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > VC MFC静态文本框背景色设置

VC MFC静态文本框背景色设置

时间:2022-01-30 04:27:50

相关推荐

VC MFC静态文本框背景色设置

最近在需要用MFC做一个上位机,第一次接触这个东西我想把我在这过程中遇到的问题写下来,希望也能帮助遇到同样问题的朋友。有什么地方不对的请各位指正。

我在利用MFC做登录界面时出现了一个问题。我发现如果直接有工具箱拖放一个静态文本到程序窗口时文本框的背景颜色是灰色,字体为黑色,且在属性窗口没有修改文本颜色的选项。效果图如下。

图1 红色矩形框中默认文本框颜色

这样显示就和背景颜色很不协调。我希望文本框以黑底白字显示。由于我是第一次使用MFC做上位机,对许多东西都不明白,在网上查的资料很多是基于VC6.0开发的,关键还只有代码。经过我的一番摸索我终于解决了这个问题,下面是我解决的具体步骤,希望能帮到和我一样的小白。

1、首先在VC平台上不能通过直接右击窗口类来添加系统消息处理函数。在VC中我们需要在文本框所在窗口类上右键选择属性,之后点击闪电右边的事件图标,如下图。

图2 选择红色箭头所指的图标 2、在事件中找到WM_CTLCOLOR事件,之后在右边单元格下拉添加。 3、在类所属cpp文件中找到下列函数。

HBRUSH CDengLuDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){.......}

4、在上面函数中添加下列代码。其中IDC_STATIC_1换为你静态文本框所对应的文本ID即可。

if( IDC_STATIC_1 == pWnd->GetDlgCtrlID())//判断发出消息的空间是否是该静态文本框{pDC->SetTextColor(RGB(255,255,255));//设置文本颜色为白色pDC->SetBkMode(OPAQUE);//设置文本背景模式为透明pDC->SetBkColor(RGB(0,0,0));//设置文本背景为黑色hbr=CreateSolidBrush(RGB(0,0,0));//控件的背景色为黑色}

5、最后运行时效果如下。

图 3 最终运行效果文本框黑底白字显示 最后感谢附上帮助过我的帖子: /qingergege/p/5147988.html 编程中如有问题可以查阅微软MSDN帮助工具。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。