Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
739 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TCategoryPanel Anzeige-Bug?

  Alt 5. Nov 2022, 17:38
Du solltest dieses Problem melden.

Als Workaround schlage ich dir vor, die Kinder selber neu zu malen.

Zum Beispiel so:

Delphi-Quellcode:
procedure RepaintChildren(Parent: TWinControl);
var
  i: Integer;
  Child: TControl;
begin
  for i := 0 to Parent.ControlCount-1 do
  begin
    Child := Parent.Controls[i];
    if Child is TWinControl then
    begin
      Child.Repaint;
      RepaintChildren(TWinControl(Child));
    end;
  end;
end;

Aufruf:
Auf die Ereignisse OnCollapse und OnExpand von cpSprache reagierst du mit NeuMalen aller Kinder und Kindeskinder von CategoryPanelGroup1. (CategoryPanelGroup1.Repaint oder Panel2.Repaint funktionieren nicht, da du damit wieder in den programmierten Mist reingerätst.)

Delphi-Quellcode:
procedure TForm3.cpSprache2Expand(Sender: TObject);
begin
   RepaintChildren(CategoryPanelGroup1);
end;
Michael Gasser
  Mit Zitat antworten Zitat