Xojo Developer Conference
25/27th April 2018 in Denver.
MBS Xojo Conference
6/7th September 2018 in Munich, Germany.

ContextualMenu Hilfe (Real Studio network user group Deutschland Mailinglist archive)

Back to the thread list
Previous thread: Linuxanwendungen
Next thread: ListBox Problem


Probleme mit String Bearbeitung   -   Markus Schnell
  ContextualMenu Hilfe   -   Claudius Sailer
   Re: ContextualMenu Hilfe   -   Maximilian Tyrtania
   Re: ContextualMenu Hilfe   -   Christian Schmitz
   Re: ContextualMenu Hilfe   -   Stefan Mettenbrink

ContextualMenu Hilfe
Date: 13.01.13 11:55 (Sun, 13 Jan 2013 11:55:01 +0100)
From: Claudius Sailer
Hallo,

bisher habe ich die Klasse ContextualMenu verwendet.
Hat mir jemand einen BeispielCode wie man das zukünftig verwendet? Ich habe den Event ContextualAction bereits gefunden, das sollte also umsetzbar sein, aber wie fülle oder lege ich ein ContextualMenu an?

if IsCMMClick then
ContextualMenu1.open
return true
end if

z.B. im MouseDown Event einer ListBox geht ja nicht mehr!!!!

Danke

Claudius

Re: ContextualMenu Hilfe
Date: 13.01.13 13:39 (Sun, 13 Jan 2013 13:39:58 +0100)
From: Maximilian Tyrtania
Am 13.01.2013 um 12:08 schrieb Stefan Mettenbrink <<email address removed>>:

> Claudius Sailer wrote:
>
>> z.B. im MouseDown Event einer ListBox geht ja nicht mehr!!!!
>
> Die Probleme hatte ich auch :-(
>
> In der Listbox (und vielen anderen Stellen) gibt es jetzt ein
> ConstructContextualMenu-Event. Dorthin kommt:
> base.AppendSubMenuitem "Menu1"

Freut mich zu lesen, dass die von mir mal gepostete Menuitemextension "appendSubmenuItem" schon zum Quasi-Standard avanciert zu sein scheint. Man sollte aber sicherheitshalber doch noch erwähnen, dass man sie erst einbauen muss:

In einem Modul (etwa MenuitemExtensions):

Sub AppendSubMenuitem(extends mi as menuitem,TextOfSubMenu as String,TagOfSubMenu as variant=nil,ItemIsChecked as boolean=false, KeyboardShortCut as string="", enabled as boolean=true,MenuName as string="")
if mi.HasSubMenuItem(TextOfSubMenu) then Return

dim NewSubMenuItem as new MenuItem
NewSubMenuItem.Text=TextOfSubMenu
If TagOfSubMenu is nil=False then
NewSubMenuItem.Tag=TagOfSubMenu
end if
NewSubMenuItem.Checked=ItemIsChecked
If KeyboardShortCut<>"" then
NewSubMenuItem.KeyboardShortcut=KeyboardShortCut
end if
NewSubMenuItem.Enabled=enabled
NewSubMenuItem.Name=MenuName

mi.Append NewSubMenuItem
End Sub

Maximilian Tyrtania
http://www.contactking.de

Re: ContextualMenu Hilfe
Date: 13.01.13 13:11 (Sun, 13 Jan 2013 13:11:41 +0100)
From: Christian Schmitz

Am 13.01.2013 um 12:08 schrieb Stefan Mettenbrink <<email address removed>>:

> ConstructContextualMenu-Event. Dorthin kommt:
> base.AppendSubMenuitem "Menu1"
> base.AppendSubMenuitem "-"//Trenner
> base.AppendSubMenuitem "Menu2"

Besser MenuItem Objekte anfügen und dann dort Tag setzen.

> Im Event ContextualMenuAction (der Listbox oder direkt vom Fenster)
> kommt dann:
>
> if Hititem.text="Menu1" then
> //irgendwas
> elseif Hititem.text="Menu2" then
> //was anderes
> end

Hier besser Tag auswerten, weil der Text ja lokalisiert sein kann.

Gruß
Christian

--

Re: ContextualMenu Hilfe
Date: 13.01.13 12:08 (Sun, 13 Jan 2013 12:08:47 +0100)
From: Stefan Mettenbrink
Claudius Sailer wrote:

> z.B. im MouseDown Event einer ListBox geht ja nicht mehr!!!!

Die Probleme hatte ich auch :-(

In der Listbox (und vielen anderen Stellen) gibt es jetzt ein
ConstructContextualMenu-Event. Dorthin kommt:
base.AppendSubMenuitem "Menu1"
base.AppendSubMenuitem "-"//Trenner
base.AppendSubMenuitem "Menu2"

Im Event ContextualMenuAction (der Listbox oder direkt vom Fenster)
kommt dann:

if Hititem.text="Menu1" then
//irgendwas
elseif Hititem.text="Menu2" then
//was anderes
end

Ob es einfacher/besser geht weiß ich nicht. Bei mir funktioniert es
aber.
Viel Erfolg.

Gruß, Stefan Mettenbrink.