void MyFrame::OnPaint()
{
CPaintDC dc(this);
RECT rect;
GetClientRect(&rect);
for(i=0;i<count;i++)
{
SelectObject (dc,CreateSolidBrush(RGB(a[i][0],a[i][1],a[i][2])));
dc.Ellipse(&rect1[i]);
}
}当OnPaint()到几百次后画出的圆,没有了颜色。是什么原因,怎么解决。等答案。谢谢了。
{
CPaintDC dc(this);
RECT rect;
GetClientRect(&rect);
for(i=0;i<count;i++)
{
SelectObject (dc,CreateSolidBrush(RGB(a[i][0],a[i][1],a[i][2])));
dc.Ellipse(&rect1[i]);
}
}当OnPaint()到几百次后画出的圆,没有了颜色。是什么原因,怎么解决。等答案。谢谢了。
解决方案 »
- 封装好Dll后调试出现的问题
- VC++按钮中实现死循环
- 用VC操作excel怎么读取单元格内是否换行啊?
- uchar* 如何转成图像,或者直接显示在mfc控件上
- dll之间共享注册表信息
- 请问如何刷新整个框架窗口,而不只是客户区
- 100分求助!还是关于多重继承的this指针的问题,帮忙看一下为什么下面的小例子执行出错。
- 在VC里面调用汇编的问题
- 100分求助各位大神SYN Flood攻击程序
- 兄弟们,救命啊,有谁知道在WM_VSCROLL消息响应中得到该滚动条的指针??急
- 客户端如何立即知道服务器端的崩溃
- 编译64位时,提示error C2259: “ATL::CComObject<Base>”: 不能实例化抽象类
是RGB三原色的数值。。是随即产生的1-255数字。
Brush = CreateSolidBrush(RGB(a(i)(0), a(i)(1), a(i)(2))) ‘创建刷子
OldBrush = SelectObject(dc, Brush) ’将该刷子选入DC中,并保留之前的刷子
dc.Ellipse Rect1(i) '绘制图形
SelectObject dc, OldBrush '恢复之前的刷子
DeleteObject Brush ‘删除我们创建的刷子,释放资源
Next
不熟悉VC的语法,用VB和VC的结合体写的
for(i=0;i<count;i++)
{
SelectObject (dc,CreateSolidBrush(RGB(a[i][0],a[i][1],a[i][2])));
dc.Ellipse(&rect1[i]);
}CreateSolidBrush创建后,没有删除for(i=0;i<count;i++)
{
HBRUSH brush = CreateSolidBrush(RGB(a[i][0],a[i][1],a[i][2]));
HBRUSH oldbush = SelectObject (dc,brush);
dc.Ellipse(&rect1[i]);
SelectObject (dc,oldbush );
DeleteObject(brush);
}