PopupMenu in ListBox.Cell

  1. 4 months ago

    Stefan M

    Jul 22 Germany, NRW, Kirchlengern (Kr...

    Hallo in die Runde.
    Ich möchte in einer Zelle einer Listbox ein PopupMenu nutzen.
    Gibt es da etwas fertiges?

    Ich habe für das PopupMenu auch keine Möglichkeit gesehen, Einträge zu disablen. Habe ich das übersehen oder geht das nicht?

    Gruß, Stefan Mettenbrink.

  2. Axel S

    is not verified Jul 22 Europe (Germany, Erfurt)

    Im Edit-Modus erscheint das Kontextmenu der TextArea

    kann man abschalten mit

    Function MouseDown(x As Integer, y As Integer) Handles MouseDown as Boolean
      
      if IsContextualClick then return true
    End Function

    Menu z.B. für Row 2 - Column 3

    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
    Function ContextualMenuAction(hitItem as MenuItem) Handles ContextualMenuAction as Boolean
      if hitItem.Text = "test" then
        msgbox("menu test")
      end if
    End Function
  3. Stefan M

    Jul 22 Germany, NRW, Kirchlengern (Kr...

    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.

  4. Axel S

    is not verified Jul 22 Europe (Germany, Erfurt)

    Ich hatte 2015 mal so was gemacht, weiss nicht ob es funktioniert da ich kein OSX mehr habe.

    -image-

    https://www.dropbox.com/s/yhau69nm2myisi1/LBembed2.zip?dl=1

  5. Stefan M

    Jul 22 Germany, NRW, Kirchlengern (Kr...

    Ja, genau das habe ich gesucht. Danke!

    Weiß jemand, ob man bei dem PopupMenu einzelne Einträge zeitweise disablen kann?

  6. 9 weeks ago

    Martin T

    Sep 14 Pre-Release Testers Germany

    @StefanMettenbrink Weiß jemand, ob man bei dem PopupMenu einzelne Einträge zeitweise disablen kann?

    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.

or Sign Up to reply!