Submenü mit Icon

Hallo zusammen,

ich habe mal eine Frage, wie ich beispielsweise in einem DropDown-Menü (Toolbar) per Code ein Icon hinzufügen kann? Bisher erstelle ich die Submenüs wie folgt:

Var Export As New DesktopMenuItem
Export.AddMenu(New DesktopMenuItem("JPEG"))
Export.AddMenu(New DesktopMenuItem("PNG"))
...

Vielen Dank für Eure Hilfe und viele Grüße.

Du setzt die Icon-Property:

dim DocMenuItem as new MenuItem(kSelectionDocuments)
DocMenuItem.Icon = getIconFromFolder(SpecialFolder.Documents)
theMenu.AddMenu DocMenuItem
dim UserMenuItem as new MenuItem(SystemInformationMBS.UserName)
UserMenuItem.Icon = getIconFromFolder(SpecialFolder.UserHome)
theMenu.AddMenu UserMenuItem
dim DesktopMenuItem as new MenuItem(kSelectionDesktop)
DesktopMenuItem.Icon = getIconFromFolder(SpecialFolder.Desktop)
theMenu.AddMenu DesktopMenuItem

Das ist das Resultat:

Danke, das funktioniert bei Buttons ganz wunderbar. Weißt Du, wie ich das bei dem Toolbar-Beispiel implementieren kann, dass die verschiedenen Submenüs Icons bekommen?

// Add a menu to ChartsButton
Var chartMenu As New DesktopMenuItem
chartMenu.AddMenu(New DesktopMenuItem("Line"))
chartMenu.AddMenu(New DesktopMenuItem("Bar"))
chartMenu.AddMenu(New DesktopMenuItem("Pie"))


#If TargetMacOS Then
  chartMenu.AddMenu(New DesktopMenuItem("-"))
#Endif
chartMenu.AddMenu(New DesktopMenuItem("3D Line"))
chartMenu.AddMenu(New DesktopMenuItem("3D Bar"))
chartMenu.AddMenu(New DesktopMenuItem("3D Pie"))

Me.ChartsButton.Menu = chartMenu

// Add a menu to DatesButton
Var dateMenu As New DesktopMenuItem
dateMenu.AddMenu(New DesktopMenuItem("Today"))
dateMenu.AddMenu(New DesktopMenuItem("Tomorrow"))
dateMenu.AddMenu(New DesktopMenuItem("Next Week"))
dateMenu.AddMenu(New DesktopMenuItem("Next Month"))

Me.DatesButton.Menu = dateMenu

Du musst dir erst eine Variable erstellen und das Object merken, dann kannste auch die Eigenschaften anpassen.

Okay, das verstehe ich, mir ist nur noch nicht klar, wie ich das bei der Xojo ToolBar lösen kann. Vielleicht stehe ich gerade auch nur kräftig auf dem Schlauch.

Jetzt habe ich es verstanden. Wohl doch den Wald vor lauter Bäumen nicht gesehen. Sorry und danke an alle für die Hilfe.

// Add a menu to ChartsButton
Var chartMenu As New DesktopMenuItem

Var item1 As New DesktopMenuItem("Line")
item1.Icon = SaveImage
chartMenu.AddMenu(item1)

Var item2 As New DesktopMenuItem("Line 2")
item2.Icon = HelpImage
chartMenu.AddMenu(item2)

Me.ChartsButton.Menu = chartMenu
1 Like

wenn du sowas sehr oft benutzt bietet es sich an da eine Funktion (Methode) draus zu machen

chartMenu.AddMenu(MenuItem("Speichern","save",SaveImage))
1 Like