8

Delphi 2009で、フォームのサイズ変更中に発生するPageControlのちらつきは、そのDoubleBufferedプロパティをtrueに設定することで減らすことができることを発見しました。

ただし、PageControlタブシートにコントロールを追加すると、DoubleBufferedプロパティの設定に関係なくちらつきます。また、ランタイムテーマを有効にした場合と無効にした場合も試してみました。

4

2 に答える 2

5

PageControlのコンポーネントをに設定ParentBackgroundすると、非常に役立ちました。Falseただし、これにより、これらのパネルコンポーネントの色が異なり、すべての背景が暗くなります。たぶん、これは簡単に修正できます(テーマのサポートを失うことなく)。

また、 QC 56252の修正が含まれているVCLフィックスパックもインストールしました(TPageControlは、アクティブなテーマで頻繁にちらつきます)。

于 2010-11-01T08:31:02.323 に答える
0

これは完璧にはほど遠いですが、これを使用することをお勧めします。

  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;

これは私がこれまでに見つけた最高のものであり、ページコントロールのWindowsUpdateを削減します。あまりきれいではないかもしれませんが、それは意見の問題です...

于 2010-10-27T15:12:01.640 に答える