Hallo,
ich möchte gerne zur laufzeit mehre PopupMenus auf verschied komponenten teieln z.b.
TSpeedButton, TJvCaptionPanel: Popupmenu3;
alle andren komponenten PopupMenu4;
dazu habe ich mir folgende procedure geschrieben. die auch soweit funktioniert nur derr letzte else block der ist noch nicht so wie ich ihn haben möchte.....
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| procedure TForm1.ChangeToDesinger; var i:Integer; Component: TComponent; begin if DesingerModus1.Checked = True then begin for i:=0 to ComponentCount-1 do begin if Components[i].ClassType = TJvCaptionPanel then TJvCaptionPanel(FindComponent(Components[i].Name)).PopUpMenu:=PopupMenu3 else if Components[i].ClassType = TSpeedButton then TSpeedButton(FindComponent(Components[i].Name)).PopUpMenu:=PopupMenu3 else begin Component := Components[i]; if (Component is TControl) then begin Assert(Assigned(Component)); if IsPublishedProp(Component, 'PopUpMenu') then TPopupMenu(GetObjectProp(Component, 'PopUpMenu', TPopupMenu)) PopupMenu4; end; end; end; end else begin end;
end; |
ich habe schon in der hilfe nach geschaut welche komponenten ein PopupMenu haben das sind die die von TControl kommen. Aber viel kann ich damit nicht anfangen. Habe schon einiges versucht und geteste aber nix geht...