重載WM_CTLCOLORHBRUSH CxxxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
//HWND hWnd=pWnd->GetSafeHwnd ();
//if (hWnd ==控件變量.GetSafeHwnd ())
if(pWnd==&控件變量)
{
pDC->SetBkColor(RGB(0,255,0));
//pDC->SetTextColor (RGB(255,0,0));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
//HWND hWnd=pWnd->GetSafeHwnd ();
//if (hWnd ==控件變量.GetSafeHwnd ())
if(pWnd==&控件變量)
{
pDC->SetBkColor(RGB(0,255,0));
//pDC->SetTextColor (RGB(255,0,0));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
解决方案 »
- 采用bitblt绘图必须装载CBitmap吗?
- 能否实现把当前屏幕上所显示的字符和图片内容从显存中提取出并另存?
- 如何创建ClassView里面文件夹?谢谢!
- 与业务上什么都不懂,问问题带着撒娇语气的丑女工作,简直就是一种折磨.散100分求这样的日子早日过去
- CListCtrl能增加背景图吗?report模式下,最上一排的heard能加背景图吗?如何实现?
- TCP连接上后,一段时间不操作.是不是会自动断掉啊.此时再用原来的套接字发消息,会出现什么情况.怎么处理?
- 求费尔防火墙1.0版本中的一个头文件 xlogfile.h
- 已知一个DC,如何将DC转为bmp,请帮忙看一看我的代码
- ****托盘程序问题****
- 在vc中,建立crecordset 怎么用sql语句直接查询sql server?
- 一个关于打包发布的简单问题,在线等待结账,100分
- 谁能帮我找一段在linux下用C/C++写的SMTP发送邮件的程序。救命!
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor==CTLCOLOR_EDIT )
{
pDC->SetBkColor(RGB(100,110,100));
pDC->SetTextColor(RGB(200,120,0,));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
似乎有点问题。
控件变量指ID还是m_xxx呢?
界面上有很多edit box,根据每个edit的什么标志能确定
修改的是它的颜色呢?
下面也是根据一个网友提供的方法而作的!********************************
class MyEdit1 : public CEdit
{
// Construction
public:
MyEdit1();
CBrush m_brBkGround;
COLORREF m_crBkColor;
COLORREF m_crTextColor;
// Attributes
public:.....
MyEdit1::MyEdit1()
{
m_crTextColor = RGB(0,0,0);
//::GetSysColor( COLOR_WINDOWTEXT );
m_crBkColor = RGB(188,188,188);
m_brBkGround.CreateSolidBrush( RGB(188,188,188) );
}......
MyEdit1 myedit1;
..............
myedit.Create(ES_AUTOHSCROLL|ES_AUTOVSCROLL|ES_LEFT|WS_VISIBLE,
CRect(10,130,400,155),this,IDC_EDIT1);
myedit.ModifyStyleEx(0,WS_EX_CLIENTEDGE, SWP_DRAWFRAME);......
myedit.m_crTextColor = RGB(0,100,0); .....
似乎有点问题。
控件变量指ID还是m_xxx呢?你用ClassWizard定義一個CEdit ID 的變量,如CEidt m_edit_test;
指m_xxx,不是ID.
我在对话框加入了controls中的edit box组件,图标是ab|
普通情况下为白底黑字。
将它改成只读后变成灰底黑字,字不太明显,于是我想将灰底
的颜色改掉。
这就是我的问题,现在有人能帮我解决了吗?
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (nCtlColor==CTLCOLOR_EDIT)
{
pDC->SetBkColor(RGB(255,100,192));
return hbr;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
再不然的话,可以自己写一个以CEdit为基类的类,但这样子会比较麻烦就是。如果你只是要设置背景的话,那没有必要自己写一个类