在我的程序中,我有一个TPanel
从上面滑出的自定义,上面有按钮和图像。它滑出很好,但是当我去隐藏它时,它很慢。我尝试了几种方法,结果都是一样的。如果你注意到下面我尝试了重绘,我认为我可以重绘尾随的矩形,但是这个调用会重绘整个表单,就像我尝试过的所有其他方法一样。我什至尝试使用滚动。我说错了还是有更好的方法来更新需要在面板向上移动时更新的表单部分?
while z>mypanels[panel].Fstarttop do
begin
if z-x<mypanels[panel].Fstarttop then z:=mypanels[panel].Fstarttop else z:=z-x;
updaterect:=Rect(mypanels[panel].left,z+mypanels[panel].height,mypanels[panel].left+mypanels[panel].width,mypanels[panel].top+mypanels[panel].height);
mypanels[panel].top:=z;
//mypanels[panel].Repaint;
//Application.ProcessMessages;
//mypanels[panel].ScrollBy(0,-x);
//InvalidateRect(form1.Handle,@updaterect,FALSE);
//Application.ProcessMessages;
//RedrawWindow(form1.Handle,@updaterect, 0, RDW_UPDATENOW);
//form1.refresh;
end;