VC2005 MFC静态文本框背景色设置
2017-03-10 10:20
260 查看
最近在需要用MFC做一个上位机,第一次接触这个东西我想把我在这过程中遇到的问题写下来,希望也能帮助遇到同样问题的朋友。有什么地方不对的请各位指正。
我在利用MFC做登录界面时出现了一个问题。我发现如果直接有工具箱拖放一个静态文本到程序窗口时文本框的背景颜色是灰色,字体为黑色,且在属性窗口没有修改文本颜色的选项。效果图如下。
图1 红色矩形框中默认文本框颜色
这样显示就和背景颜色很不协调。我希望文本框以黑底白字显示。由于我是第一次使用MFC做上位机,对许多东西都不明白,在网上查的资料很多是基于VC6.0开发的,关键还只有代码。经过我的一番摸索我终于解决了这个问题,下面是我解决的具体步骤,希望能帮到和我一样的小白。
1、首先在VC2005平台上不能通过直接右击窗口类来添加系统消息处理函数。在VC2005中我们需要在文本框所在窗口类上右键选择属性,之后点击闪电右边的事件图标,如下图。
图2 选择红色箭头所指的图标
2、在事件中找到WM_CTLCOLOR事件,之后在右边单元格下拉添加。
3、在类所属cpp文件中找到下列函数。
图 3 最终运行效果文本框黑底白字显示
最后感谢附上帮助过我的帖子:
http://www.cnblogs.com/qingergege/p/5147988.html
编程中如有问题可以查阅微软MSDN帮助工具。
我在利用MFC做登录界面时出现了一个问题。我发现如果直接有工具箱拖放一个静态文本到程序窗口时文本框的背景颜色是灰色,字体为黑色,且在属性窗口没有修改文本颜色的选项。效果图如下。
图1 红色矩形框中默认文本框颜色
这样显示就和背景颜色很不协调。我希望文本框以黑底白字显示。由于我是第一次使用MFC做上位机,对许多东西都不明白,在网上查的资料很多是基于VC6.0开发的,关键还只有代码。经过我的一番摸索我终于解决了这个问题,下面是我解决的具体步骤,希望能帮到和我一样的小白。
1、首先在VC2005平台上不能通过直接右击窗口类来添加系统消息处理函数。在VC2005中我们需要在文本框所在窗口类上右键选择属性,之后点击闪电右边的事件图标,如下图。
图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 最终运行效果文本框黑底白字显示
最后感谢附上帮助过我的帖子:
http://www.cnblogs.com/qingergege/p/5147988.html
编程中如有问题可以查阅微软MSDN帮助工具。
相关文章推荐
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- MFC静态文本控件如何设置字体--大小和颜色及背景色
- 重拾MFC小细节之设置静态文本前、背景色
- VC++ MFC 中动态更改透明背景的静态文本时重叠现象(尤其是界面设置了背景图片时)
- MFC 可以设置背景色、字体、字体颜色、透明背景的 Static 静态文本控件
- VC++/MFC更新状态栏窗格的文本,设置状态栏的文本
- VC、MFC中设置控件的背景色、标题、字体颜色、字体要注意的地方
- VC设置静态文本透明显示,动态更新内容,不重叠
- MFC 静态文本设置透明
- VC编程中如何设置对话框的背景颜色和静态文本颜色
- MFC静态文本与窗口背景色一致
- VC++的MFC中 获取选中静态文本的内容
- VC、MFC中设置控件的背景色、标题、字体颜色、字体要注意的地方[转]
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- CHyperLink MFC中static静态文本设置超链接
- MFC中设置静态文本的字体颜色、背景透明以及解决字体重叠
- 如何设置MFC静态文本背景为透明色?
- 转:MFC静态文本与窗口背景色一致
- 怎样让在OnPaint中设置的对话框背景色和静态文本,编辑框等控件的背景色一致,这样看起来才协调