怎样使静态文本框的背景显示出其它颜色 颜色会随着条件改变 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.codeproject.com/staticctrl/clabel.asp http://www.vchelp.net/vchelp/archive.asp?type_id=4&class_id=1&cata_id=1&article_id=633 派生一个这个控件的类,重写OnSize(...),OnGetMinMaxInfo(...)和OnMouseMove()函数 overide OnCtlColor function:HBRUSH CFilterDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH brush; switch(nCtlColor) { case CTLCOLOR_STATIC: { pDC->SetBkMode(TRANSPARENT); brush=(HBRUSH)::GetStockObject(WHITE_BRUSH); break; } default: brush=CDialog::OnCtlColor(pDC, pWnd, nCtlColor); } return brush;} 哦,对不起发错地方了!你这个问题可以在WM_CTLCOLOR中加入: if(nCtlColor == CTLCOLOR_STATIC) { pDC->SetBkColor(RGB(YOURCOLOR)); ... } 响应其父窗口的WM_CTRLCOLOREDIT消息,返回一个该颜色的刷子(sdk方法)或重载与WM_CTRLCOLOR相关的消息函数(名字我忘记了),判断句柄参数为该edit的情况,同样返回一个刷子即可,当然,你也可以返回一个null_brush,这样就可以让edit透明了(但要自己处理背景重画问题),另外记得要setbkmode(transparent),让edit里的字背景为透明 多线程串口通信问题 怎样修改单文档的客户区、菜单栏、工具栏的背景颜色(绿色) combox的onselchange事件中如何得到此控件id? 搜索服务器(广域网和局域网都适用)功能,客户端的代码怎么写? 关于flash!! 新手问题:CAsyncSocket中接受不到数据,请帮忙看看,急啊! DEBUG后的应用程序如何才能应用到没有MFC库支持的计算机? 如何分析一个DLL调用了哪些其他的DLL? 还有个问题.大家帮忙看看! 获取网页验证码的问题 按钮 winsock中,一次发包最优化的大小是多少?
OnMouseMove()函数
HBRUSH CFilterDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH brush; switch(nCtlColor)
{
case CTLCOLOR_STATIC:
{
pDC->SetBkMode(TRANSPARENT);
brush=(HBRUSH)::GetStockObject(WHITE_BRUSH);
break;
} default: brush=CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
return brush;
}
你这个问题可以在WM_CTLCOLOR中加入:
if(nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetBkColor(RGB(YOURCOLOR));
...
}
或重载与WM_CTRLCOLOR相关的消息函数(名字我忘记了),判断句柄参数为该edit的情况,同样返回一个刷子即可,当然,你也可以返回一个null_brush,这样就可以让edit透明了(但要自己处理背景重画问题),另外记得要setbkmode(transparent),让edit里的字背景为透明