我现在使用VS2010制作MFC,使用的控件是静态文本框跟输入文本框,现在想要改变字体颜色和背景颜色
使用 afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);HBRUSH Ctest001Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
CBrush test_bkBrush1; //准备一把背景刷子
test_bkBrush1.CreateSolidBrush(RGB(255,0,0)); //创建一把红色的背景刷子
// TODO: Change any attributes of the DC here
// 判断下是不是你要改的控件ID
if( pWnd->GetDlgCtrlID() == IDC_STATIC_1 ) //IDC_STATIC_1为静态文本框ID
{
return test_bkBrush1;
}
if( pWnd->GetDlgCtrlID() == IDC_EDIT_1 ) //IDC_EDIT_1为输入文本框ID
{
pDC->SetTextColor(RGB(255,0,0)); //字体颜色
pDC->SetBkColor(RGB(0, 0, 255)); //字体背景色
}
// TODO: Return a different brush if the default is not desired
return hbr;
}加入断点调试,发现这段程序没有运行,请教一下应该怎么修改?
使用 afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);HBRUSH Ctest001Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
CBrush test_bkBrush1; //准备一把背景刷子
test_bkBrush1.CreateSolidBrush(RGB(255,0,0)); //创建一把红色的背景刷子
// TODO: Change any attributes of the DC here
// 判断下是不是你要改的控件ID
if( pWnd->GetDlgCtrlID() == IDC_STATIC_1 ) //IDC_STATIC_1为静态文本框ID
{
return test_bkBrush1;
}
if( pWnd->GetDlgCtrlID() == IDC_EDIT_1 ) //IDC_EDIT_1为输入文本框ID
{
pDC->SetTextColor(RGB(255,0,0)); //字体颜色
pDC->SetBkColor(RGB(0, 0, 255)); //字体背景色
}
// TODO: Return a different brush if the default is not desired
return hbr;
}加入断点调试,发现这段程序没有运行,请教一下应该怎么修改?
解决方案 »
- 关于在一个文件夹内读取各个子文件夹中.TXT文件信息的方法
- 知道行数但是没有鼠标等的操作怎么使listctrl中的一行活多行选中高亮起来
- -1024的RGB值是多少啊!?
- 关于MFC中Listview的简单问题.大家来帮帮我啊!在线等待,急死了!
- 怎样在对话框中加入菜单和工具栏还有状态栏
- 有谁比较过自己封装的buffer类和pipe的性能?
- 用户点击ListView中的一个item时会有什么消息?
- 请教编译成可执行文件的几种模式!
- 北京和上海的vc程序员一般可以拿多少工资,最高的有多少?
- 线程函数为啥不停止了????
- 【求高手指导】BOOL WINAPI 如何使用?
- error MSB6006: “cmd.exe”已退出,代码为 3
if(test_bkBrush1.GetSafeHandle() == NULL)
test_bkBrush1.CreateSolidBrush(RGB(255,0,0)); //创建一把红色的背景刷子
这句去掉