首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

为什么编写的图形控件有黑线闪烁?该怎么处理

2012-04-05 
为什么编写的图形控件有黑线闪烁?本人自己写了个BORLAND C++的图形控件。在进行测试时候发现如果如下情况:

为什么编写的图形控件有黑线闪烁?
本人自己写了个BORLAND C++的图形控件。在进行测试时候发现如果如下情况:
屏幕上放置的控件(都是自己写的控件)比较多,其背景颜色选择黑色。在运行时候有时候屏幕上会闪烁黑线,但黑线出现的地方和时间也没有规律,有时候有有时候无。
如果背景选择浅色的话并且与窗体颜色相同,好像又无此现象。

编写控件画图形都是用程序一笔一笔画的,首先是直接画在控件的画布上,发现有这问题后,又试了先在建立TBITMAP,在其画布上画,然后拷贝到控件的画布上,结果还是一样,还是有黑线闪烁。

我想问问这是什么原因造成的?应该要注意一些什么 ?

[解决办法]
如果你的控制是从TGraphicControl继承的话,试试把父控件设置成doublebuffered
如果是TWinControl,那么试试调整一下WS_CLIPSIBLINGS和WS_CLIPCHILDREN样式。


[解决办法]
把父控件设置成doublebuffered 

[解决办法]
lz先用Graphics::TBitmap 去画
然后通过BitBlt拷贝到界面上去试试?
[解决办法]
用BitBlt()双缓冲解决图象闪烁的案例不少的
[解决办法]
把Form->DoubleBuffered = true;
[解决办法]
因为刷新的缘故,试试别的方法,比如内存设备上下文,或者BitBlt()

热点排行