如何减少Delphi中的PageControl闪烁?
  在Delphi 2009中,我发现可以通过将其DoubleBuffered属性设置为true来减少DoubleBuffered的闪烁 - 这会在调整窗体大小时发生。 
但是,如果我将控件添加到PageControl标签页中,则无论DoubleBuffered属性设置如何,它们都将闪烁。 我也尝试过和没有启用运行时主题。
  在PageControl的组件上设置ParentBackground为False有帮助。  然而,这会导致这些面板组件的颜色不同,现在它们都有较暗的背景。  也许这可以很容易地解决(不会丢失主题支持)。 
我还安装了VCL Fix Pack,它有一个QC 56252的修复程序(TPageControl与主动主题闪烁很多)。
这远不是完美的,但你可能想要使用这个:
  protected
    procedure WMExitSize(var Message: TMessage); message WM_EXITSIZEMOVE;
    procedure WMEnterSize(var Message: TMessage); message WM_ENTERSIZEMOVE;
procedure TFormMain.WMEnterSize(var Message: TMessage);
begin
  if Assigned(PageControlView.ActivePage) then
    PageControlView.Align := alNone;
end;
procedure TFormMain.WMExitSize(var Message: TMessage);
begin
  if Assigned(PageControlView.ActivePage) then
    PageControlView.Align := alClient;
end;
这是我找到的最好的,并且会减少页面控件的窗口更新。 不过,这可能不太漂亮,但这是一个意见问题...
链接地址: http://www.djcxy.com/p/48497.html