example
Function ConstructContextualMenu(base As DesktopMenuItem, x As Integer, y As Integer) Handles ConstructContextualMenu as Boolean
If Me.SelectedText.Trim.BeginsWith("http://")=True Or Me.SelectedText.Trim.BeginsWith("https://")=True Then
Var open As New DesktopMenuItem(kOpen)
open.Icon = MenuIcon(icons8_website_96px)
base.AddMenu open
End If
Var c As New Clipboard
If Me.ReadOnly = False And c.TextAvailable = True Then
Var insert As New DesktopMenuItem(kPaste)
insert.Icon = MenuIcon(icons8_paste_96px)
base.AddMenu insert
End If
Var col As New DesktopMenuItem(kColors)
col.Icon = MenuIcon(icons8_color_palette_96px)
col.AddMenu DesktopMenuItemColor("Rot",Color.Red)
col.AddMenu DesktopMenuItemColor("Orange",Color.Orange)
col.AddMenu DesktopMenuItemColor("Gelb",Color.Yellow)
col.AddMenu DesktopMenuItemColor("Grün",Color.RGB(0,128,0))
col.AddMenu DesktopMenuItemColor("Blaugrün",Color.Teal)
col.AddMenu DesktopMenuItemColor("Blau",Color.RGB(0,0,128))
col.AddMenu DesktopMenuItemColor("Schwarz",Color.Black)
col.AddMenu DesktopMenuItemColor("Grau",Color.Gray)
col.AddMenu DesktopMenuItemColor("Braun",Color.Brown)
col.AddMenu DesktopMenuItemColor("Violett",Color.Purple)
col.AddMenu DesktopMenuItemColor("Purpur",Color.Magenta)
col.AddMenu DesktopMenuItemColor("Türkis",Color.Cyan)
base.AddMenu col
Var style As New DesktopMenuItem("Style")
style.Icon = MenuIcon(icons8_typography_96px)
style.AddMenu New DesktopMenuItem("Normal")
style.AddMenu New DesktopMenuItem("Fett")
style.AddMenu New DesktopMenuItem("Unterstrichen")
style.AddMenu New DesktopMenuItem("Kursiv")
style.AddMenu New DesktopMenuItem("Link")
base.AddMenu style
Var gr As New DesktopMenuItem(kSize) ' in Punkte
gr.Icon = MenuIcon(icons8_resize_vertical_96px)
gr.AddMenu New DesktopMenuItem("10")
gr.AddMenu New DesktopMenuItem("12")
gr.AddMenu New DesktopMenuItem("14")
gr.AddMenu New DesktopMenuItem("16")
gr.AddMenu New DesktopMenuItem("18")
gr.AddMenu New DesktopMenuItem("20")
gr.AddMenu New DesktopMenuItem("22")
base.AddMenu gr
Return True
End Function
Function ContextualMenuItemSelected(selectedItem As DesktopMenuItem) Handles ContextualMenuItemSelected as Boolean
Select Case selectedItem.Text
Case "Farbe", "Color", "Rot", "Red", "Orange", "Gelb", "Yellow", "Grün", "Green", "Blau", "Blue", "Schwarz", "Black", "Grau", "Gray", "Grey", "Braun", "Brown", "Purpur", "Magenta", "Türkis", "Cyan", "Violett", "Purple", "Blaugrün", "Teal"
Me.SelectionTextColor = selectedItem.Tag.ColorValue
End Select
Select Case selectedItem.Text
Case "Bold","Fett"
Me.SelectionBold = True
Case "Normal"
Me.SelectionBold = False
Me.SelectionItalic = False
Me.SelectionUnderline = False
Me.SelectionTextColor = Color.Black
Me.SelectionFontSize = 14 'Points
Case "Kursiv", "Italic"
Me.SelectionItalic = True
Case "Link"
Me.SelectionTextColor = Color.Blue
Me.SelectionUnderline = True
Case "Unterstrichen", "Underlined"
Me.SelectionUnderline = True
Case "10"
Me.SelectionFontSize = 10 'Points
Case "12"
Me.SelectionFontSize = 12 'Points
Case "14"
Me.SelectionFontSize = 14 'Points
Case "16"
Me.SelectionFontSize = 16 'Points
Case "18"
Me.SelectionFontSize = 18 'Points
Case "20"
Me.SelectionFontSize = 20 'Points
Case "22"
Me.SelectionFontSize = 22 'Points
Case "Open","Öffnen"
System.GotoURL(Me.SelectedText.Trim)
Case "Paste","Einfügen"
Var c As New Clipboard
If c.TextAvailable Then
Me.SelectedText = c.Text
End If
'Me.Paste <- das fügt was ein was dann nicht gespeichert wird
End Select
RaiseEvent NewSize
Return True
End Function