c++builder用Label实现动态字幕闪的问题
我用C++BUILDER实现动态字幕,是使用Label实现的,但是实现过程中字幕会闪,求大虾帮忙,这是我的代码void__fastcallTForm26::Timer1T...
我用C++BUILDER实现动态字幕,是使用Label实现的,但是实现过程中字幕会闪,求大虾帮忙,这是我的代码
void __fastcall TForm26::Timer1Timer(TObject *Sender)
{
Label1->Top=Label1->Top-1;
if (Label1->Top<(Label1->Width-400))
Label1->Top=Form26->Height;
}
void __fastcall TForm26::FormCreate(TObject *Sender)
{
Label1->Caption="鸣谢: \n 技术支持:张三 \n 技术指导:李四\n";
} 展开
void __fastcall TForm26::Timer1Timer(TObject *Sender)
{
Label1->Top=Label1->Top-1;
if (Label1->Top<(Label1->Width-400))
Label1->Top=Form26->Height;
}
void __fastcall TForm26::FormCreate(TObject *Sender)
{
Label1->Caption="鸣谢: \n 技术支持:张三 \n 技术指导:李四\n";
} 展开
展开全部
这样做很难不闪, 比较理想的是派生 Label 做一个控件, 重载 Paint 方法实现, 里面用 Canvas.DrawText, 这时要闪的话可以设 DoubleBuffered = true
你这样做可以试试把 Form.DoubleBuffered 设 true 看看会不会好些
你这样做可以试试把 Form.DoubleBuffered 设 true 看看会不会好些
追问
没有Form.DoubleBuffered 这个选项啊,我用的是C++BUILDER 6
追答
肯定有, 所有的 TWincontrol 都有, 在 public 里, 不是 published
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询