Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#4

AW: For + panel + Controlcount = .ctl3d? OOP und das Problem der Deklaration

  Alt 5. Nov 2013, 23:57
Das Ctrl3D-Property gibt es ab TWinControl, allerdings nur protected. Ich weiß, manche werden mich dafür steinigen, aber ich nehme da ganz gern einen lokalen (nur in dieser Unit sichtbaren) Class helper (oder den altbekannten Protected-Hack).

Delphi-Quellcode:
type
  TWinControlHelper = class helper for TWinControl
    procedure SetAllCtl3D(Value: Boolean);
  end;

procedure TWinControlHelper.SetCtl3D(Value: Boolean);
var
  I: Integer;
begin
  Ctl3d := true;
  for I := 0 to ControlCount - 1 do begin
    if Controls[I] is TWinControl then
      TWinControl(Controls[I]).SetAllCtl3D(Value);
  end;
end;

procedure TForm254.FormCreate(Sender: TObject);
begin
  SetAllCtl3D(true);
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat