Im Edit-Modus erscheint das Kontextmenu der TextArea
kann man abschalten mit
[code]Function MouseDown(x As Integer, y As Integer) Handles MouseDown as Boolean
if IsContextualClick then return true
End Function
[/code]
Menu z.B. für Row 2 - Column 3
[code]Function ConstructContextualMenu(base as MenuItem, x as Integer, y as Integer) Handles ConstructContextualMenu as Boolean
Dim xValue As Integer
xValue = System.MouseX - Me.Left - Self.Left
Dim yValue As Integer
yValue = System.MouseY - Me.Top - Self.Top
Dim row, column As Integer
row = Me.RowFromXY(xValue, yValue)
column=Me.ColumnFromXY(xValue, yValue)
If row = 2 and column = 3 then
base.Append new MenuItem (“test”)
End If
End Function[/code]
Function ContextualMenuAction(hitItem as MenuItem) Handles ContextualMenuAction as Boolean
if hitItem.Text = "test" then
msgbox("menu test")
end if
End Function
OK, erzeugt ein Kontextmenü.
Das ist nicht ganz, was ich suche. Ich möchte ein GUI-Element (oder etwas das so aussieht und funktioniert) wie ein PopupMenu.
Mein Überlegung war, ein PopupMenu an die passende Stelle einzublenden. Ist allerdings recht aufwändig (soll ja auch mit gescrollt werden).
Ein reines Kontexmenü wäre eine Alternative. Scheint mir auch einfacher zu sein.
Das funktioniert mit einem PopupMenu nicht. Dann wirst Du auf MenuItem zurückgreifen müssen. Auch empfehle ich die erste Variante von Axel, denn wie im Demo-Projekt (Axels zweite Variante) von ihm sichtbar wird, funktioniert das ganze mittels DrawInto nur, solange man die ListBox nicht scrollt.