Tutorial Komponentenentwicklung/Erweitertes Popup Menu: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Gehoert zum Komponentenentwicklungs Tutorial)
 
K (Der Ausdruck ''<pascal>(.*?)</pascal>'' wurde ersetzt mit ''<source lang="pascal">$1</source>''.)
 
Zeile 4: Zeile 4:
 
Wem das noch nicht reicht, der kann zusätzlich noch die Prozedur '''PrepareItem'''  überscheiben um die eigenen Menupunkte noch zu manipulieren.
 
Wem das noch nicht reicht, der kann zusätzlich noch die Prozedur '''PrepareItem'''  überscheiben um die eigenen Menupunkte noch zu manipulieren.
  
<pascal>
+
<source lang="pascal">
 
type
 
type
 
   TFarbAuswahlComponentEditor = class(TComponentEditor)
 
   TFarbAuswahlComponentEditor = class(TComponentEditor)
Zeile 29: Zeile 29:
 
   end;
 
   end;
 
end;
 
end;
</pascal>
+
</source>

Aktuelle Version vom 10. März 2009, 20:12 Uhr

Dieser Artikel gehört zum Tutorial Komponentenentwicklung


Wem das noch nicht reicht, der kann zusätzlich noch die Prozedur PrepareItem überscheiben um die eigenen Menupunkte noch zu manipulieren.

type
  TFarbAuswahlComponentEditor = class(TComponentEditor)
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
    procedure PrepareItem(Index: Integer; const AItem: TMenuItem);override;
    procedure MeineEreignis(Sender:TObject);
  end;
procedure TFarbAuswahlComponentEditor.PrepareItem(Index: Integer; const AItem: TMenuItem);
var
  MyMenuItem:TMenuItem;
begin
  inherited;
  Case Index of
    0: AItem.Enabled := False; //Einfach mal deaktivieren
    1:
    begin
      MyMenuItem := TMenuItem.create(AItem);
      AItem.Add(MyMenuItem);
      MyMenuItem.Caption := 'Info';
      MyMenuItem.onClick := MeineEreignis;
    end;
  end;
end;