大家知道CFormView会嵌入一个Dialog作为他的界面.但Dialog的界面背景是灰色的.我要如何设置CFormView的背景颜色(不是字体的背景颜色).
CFormView是没有OnEraseBkgnd消息函数的.
在Ondraw 和OnPaint中画是否太频繁了?
CFormView是没有OnEraseBkgnd消息函数的.
在Ondraw 和OnPaint中画是否太频繁了?
解决方案 »
- 请问页面提交问题
- 控件中创建控件的问题??
- 怎样获得BMP位图的数据??(想对图像的各个像素进行操作)
- G7231_Eval怎么都编译不成功?
- 请问:如何把activex控件加入到vc++程序中,并且怎样在程序中操纵它?
- 请教思路:VC实现简单数据库基本功能(查询、写入、更新、删除)的文件操作
- 在属性页里加入的ListCtrl控件,得到焦点后为什么不能刷新?
- 很土的问题
- 我想用WinExec函数去执行winzip,win98可以执行,win2000(profession)不行?????
- 套接字与完成端口模型关联后,套接字模式会变改变吗? wsasocket 创建套接字后, 与完成端口关联, 用createiocompletionport
- 郁闷中,散分!
- 怎样产生一个新的窗口用来显示对原图像的处理结果?
在类向导最后一个classs info里左下的message filter下拉表里把默认的dialog改为window,然后就可以看到WM_ERASEBKGND消息了
谢谢,我找到了,但怎么设置背景色?
请看如下的程序段:
BOOL C**View::OnEraseBkgnd(CDC* pDC)
{
// 设置所要求背景色的刷子
CBrush backBrush(RGB(255, 128, 128));
// 保存旧刷子
CBrush* pOldBrush = pDC->SelectObject(&backBrush);
CRect rect;
pDC->GetClipBox(&rect); // 擦除所需的区域
pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);
pDC->SelectObject(pOldBrush);
return TRUE;
}
不过我想其他方法也应该有效,只不过我没弄好.
谢谢各位.