用MFC如何将背景设置为黑色?

gaowudi 2001-04-01 06:22:00
为什么我用
pDC->SetBkColor(RGB(255,255,255));
不行呢??
求教!
...全文
508 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yesno2 2001-11-01
  • 打赏
  • 举报
回复
很好。继续努力。
codedajie 2001-04-24
  • 打赏
  • 举报
回复
改写一下OnEraseBkgrnd()重载函数 ,注意返回:return TRUE;
再改变color
superjoel 2001-04-24
  • 打赏
  • 举报
回复
你用
pDC->SetBkColor(RGB(255,255,255));
说明你是想改Text的Color
不过RGB(255,255,255)可是白色啊老兄
111222 2001-04-24
  • 打赏
  • 举报
回复
这里到底是改MainFrame的背景颜色还是改view的背景颜色还是控件?
111222 2001-04-24
  • 打赏
  • 举报
回复
songshi:

你怎么了?好么?最近怎么总看不见你?
admireO 2001-04-02
  • 打赏
  • 举报
回复
OnEraseBkgnd是不是消息映射函数呀?
David_lee 2001-04-02
  • 打赏
  • 举报
回复
如果是静态的修改,我建议使用菜鸟的办法,刷新快,稳定。
如果是动态的,我建议重载OnEraseBkgnd函数。
不推荐使用OnDraw的办法,因为某些情况下有闪动感
因为程序要先调用OnEraseBkgnd刷新一遍(白色)
在涂一遍黑色——显然不大好。
songshi 2001-04-01
  • 打赏
  • 举报
回复
不知道你想修改什么背景?
如果是SDI程序选择的VIEW是EditView之类的非CView视类
你可以试试响应WM_CTRLCOLOR.可以修改成功.
joke100 2001-04-01
  • 打赏
  • 举报
回复
ggyy的方法很不错,直接修改窗口类的画刷
还有onion(葱头)说的,请在OnEraseBkgnd(CDC* pDC)里填写。也是常用方法

BOOL CXXXWnd::OnEraseBkgnd(CDC* pDC)
{
CBrush brush(RBG(0, 0, 0));
CBrush* pOldOne = pDC->SelectObject(&brush);
CRect rc;
pDC->GetCilpBox(&rc);
pDC->PatBlt(rc.left, rc.top, rc.Width(), rc.Height, PATCOPY);
pDC->SelectObject(pOldOne);

return TRUE;
}
x_coolboy 2001-04-01
  • 打赏
  • 举报
回复
在OnCreat中,用SetClassLong
panda_w 2001-04-01
  • 打赏
  • 举报
回复
你也可以在OnDraw函数中加入
RECT rc;
CBrush bkBrush(RGB(0,0,0));
GetClientRect(&rc);
pDC->FillRect(&rc,&bkBrush);
ggyy 2001-04-01
  • 打赏
  • 举报
回复
BOOL CXxxView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs

if(!CView::PreCreateWindow(cs))
return FALSE;
cs.lpszClass=AfxRegisterWndClass(CS_DBLCLKS| CS_HREDRAW|CS_VREDRAW,
AfxGetApp()->LoadCursor(ID_MYCURSOR),
::GreateSolidBrush(RGB(255,255,255)));
if(cs.lpszClass!=NULL)
return TRUE;
else
return FALSE;
}
sunyanbiao_12 2001-04-01
  • 打赏
  • 举报
回复
你可以直接修改Create修改它参数的背景直。
onion 2001-04-01
  • 打赏
  • 举报
回复
你在哪个函数里添的代码?请在OnEraseBkgnd(CDC* pDC)里填写。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧