Einzelnen Beitrag anzeigen

David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#4

AW: TCollection mit visual Controls

  Alt 20. Jul 2010, 17:03
Ich versteh's einfach nicht mehr.

Mit:
Delphi-Quellcode:
procedure TfraButtonleiste.SetButtons(const Value: TButtonTypeSet);
var
  i : TButtonType;
begin
  FButtons := Value;
  ClearButtons;

  for i := fbtSchliessen to fbtAttributieren do
  begin
    if i in FButtons then
      case i of
        fbtSchliessen : AddButton(i, FOnClickSchliessen);
        fbtUebernehmen : AddButton(i, FOnClickUebernehmen);
        fbtHilfe : AddButton(i, FOnClickHilfe);
        ...
        fbtAttributieren : AddButton(i, FOnClickAttributieren);
      end;
  end;
end;
gehts.

TButtonTypeSet ist ein einfaches Set. Ich setze die Buttons im IO und sie sind zur Entwurfszeit da.

Wenn ich das Gleiche mit einer Collection mache (nur um die Reihenfolge beeinflussen zu können) geht es nicht mehr.

Delphi-Quellcode:
procedure TfraButtonleiste.SetButtonCollection(const Value: TButtonCollection);
var
  i : integer;
begin
  ClearButtons;
  FButtonCollection.Assign(Value);

  for i := 0 to FButtonCollection.Count - 1 do
  begin
    case FButtonCollection.Items[i].ButtonType of
      fbtSchliessen : AddButton(FButtonCollection.Items[i].ButtonType, FOnClickSchliessen);
      fbtUebernehmen : AddButton(FButtonCollection.Items[i].ButtonType, FOnClickUebernehmen);
      fbtHilfe : AddButton(FButtonCollection.Items[i].ButtonType, FOnClickHilfe);
      ...
      fbtAttributieren : AddButton(FButtonCollection.Items[i].ButtonType, FOnClickAttributieren);
    end;
  end;
end;
Das SetButtonCollection scheint zur Entwurfszeit nicht ausgelöst zu werden.
  Mit Zitat antworten Zitat