C++ 设置文档窗口背景颜色

2024-12-21 08:53:54
推荐回答(3个)
回答1:

两个问题,
1. SetBkColor()的正确调用API是
SetBkColor(HDC, COLORREF);
如果是MFC的CDC成员函数,调用是
CDC::SetBkColor(COLORREF);
需要设置的颜色是参数

2. SetBkColor并不是用来改变背景颜色,而是设置文字输出的背景色
如果希望改变窗口的背景色,应该在窗口的类结构(WNDCLASS)中,修改背景刷子。

回答2:

改变单文档窗口背景颜色。

找到CView的继承的类
增加创建消息
增加下列代码。
int CWndView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
static CBrush brush;
brush.CreateSolidBrush(RGB(255,0,0));//创建画刷
SetClassLong(this->m_hWnd, GCL_HBRBACKGROUND,(LONG)brush.m_hObject);//设置画刷
return 0;
}

回答3:

SetBkColor(COLORREF 参数)
不是返回值
你是要设置,不是获取。