win32 用多个画刷画FillRect矩形,多次拖拉窗口,会被白色覆盖,为什么?

for(inti=0;i<200;i++){FillRect(gdc,&rect[i],CreateSolidBrush(colorRef[i]));//矩形无边框Del... for (int i = 0; i<200; i++)
{
FillRect(gdc, &rect[i], CreateSolidBrush(colorRef[i])); //矩形无边框
DeleteObject(CreateSolidBrush(colorRef[i]));
}
我试过用双缓冲也一样
这样可以啊,多次拖拉窗口重绘都没有问题,fillrect不用SelectObject不是可以吗,怎么样吖?
HBRUSH hBrush, hBrush0;
for (int i = 0; i<200; i++)
{
hBrush = CreateSolidBrush(colorRef[i]);
hBrush0 = SelectObject(gdc, hBrush);
FillRect(gdc, &rect[i], hBrush);
SelectObject(gdc, hBrush0);
//DeleteObject(SelectObject(gdc, GetStockObject(BLACK_BRUSH)));
//SelectObject(gdc, CreateSolidBrush(colorRef[0]));
//DeleteObject(SelectObject(hdc, GetStockObject(WHITE_BRUSH)));
//FillRect(gdc, &rect[i], CreateSolidBrush(colorRef[i]));
//DeleteObject(CreateSolidBrush(colorRef[i]));
DeleteObject(hBrush);
}
展开
 我来答
ChengZiXianS
2017-12-30 · TA获得超过1011个赞
知道小有建树答主
回答量:1434
采纳率:72%
帮助的人:457万
展开全部
因为系统会帮你用窗口画刷清除原来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式