Einzelnen Beitrag anzeigen

Wulli12

Registriert seit: 25. Dez 2013
4 Beiträge
 
#1

TMenuItem.Enabled property for runtime created TPopupMenu

  Alt 7. Mär 2015, 17:43
Hallo,
Ich versuche bereits seit einer Weile herauszufinden, wie ich den Enabled Status eines TMenuItems aus einem tPopupMenu ändere, welches während der Laufzeit erstellt wurde.

Delphi-Quellcode:
procedure TForm1.files();
var searchResult:TsearchRec;
    sample:TMenuItem;
begin
path:=ExtractFileDir(Application.ExeName);
SetCurrentDir(path+'\skins');
popup:=TPopupMenu.Create(self);
popup.AutoHotkeys:= maManual;
if FindFirst('*',faReadOnly,searchResult) = 0 then
begin
  repeat
      sample:=TMenuItem.Create(popup);
      sample.Caption:=ExtractFileName(searchResult.Name);
      sample.OnClick:=onClick;
      Popup.Items.Add(sample);
  until FindNext(searchResult) <> 0;
  FindClose(searchResult);
end;

end;
Wenn ich also nun versuche in meiner onClick procedure das Element des Popup-Menüs auszublenden, welches angeklickt wurde, passiert dies nicht, aber warum?

Delphi-Quellcode:
procedure TForm1.onClick(Item: TObject);
begin
skin:=path+'\skins\'+TMenuItem(Item).Caption;
Edit2.Text:=TMenuItem(Item).Caption;
TMenuItem(Item).Enabled:=false;
end
  Mit Zitat antworten Zitat