Max Gui treeview Menu

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

marcel_bohn

Betreff: Max Gui treeview Menu

BeitragSo, Mai 01, 2011 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe wieder mal ein Problem bei meinem Mapeditor Projekt... Ich habe ein Treeviewgadget erstellt in dem sich die erstellten Maps befinden. Nun möchte ich ein Kontextmenü/Popupmenü erstellen, das aufgeht wenn ich auf eine Map rechtsklicke. Es gibt für diesen Fall leider keine EventID, es gibt nur eine EventID für den Fall, das irgendwo in der treeview rechtsgeklickt wird, aber ich brauche ein Event für den fall das auf eine treeviewnode rechts geklickt wird. Wie kann ich das realisieren?

blackgecko

BeitragMo, Mai 02, 2011 18:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst mal versuchen, den Rechtsklick abzufangen und dann mit SelectedTreeviewNode rausfinden, welcher Eintrag ausgewählt worden ist.
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

marcel_bohn

BeitragMo, Mai 02, 2011 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Funktioniert so nicht, denn das Treeview erkennt nicht wenn rechts geklickt wird. Denn im treeview gadget ist keine eventID für mousedown vorhanden also kann ich dieses Event nicht benutzen.
Oder hab ich deine antwort falsch verstanden?

blackgecko

BeitragMo, Mai 02, 2011 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Event EVENT_GADGETMENU ist doch für Rechtsklicks verantwortlich oder?
Zumindest funktioniert es so bei mir.
BlitzMax: [AUSKLAPPEN]
SuperStrict

Import maxgui.drivers

Local win:TGadget = createwindow("",0,0,400,400,Null,WINDOW_TITLEBAR|WINDOW_CENTER)
Local tv:TGadget = createtreeview(20,20,350,350,win)

Local node1:TGadget = addtreeviewnode("Node 1",treeviewroot(tv))
Local node11:TGadget = addtreeviewnode("Node 1.1",node1)
Local node12:TGadget = addtreeviewnode("Node 1.2",node1)
Local node2:TGadget = addtreeviewnode("Node 2",treeviewroot(tv))




Repeat
WaitEvent
Select EventID()
Case EVENT_WINDOWCLOSE
End
Case EVENT_GADGETMENU
Local sel_node:TGadget = selectedtreeviewnode(tv)
Local text:String = gadgettext(sel_node)
Notify text+" mit Rechtsklick ausgewaehlt!"
EndSelect
Forever
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

marcel_bohn

BeitragMo, Mai 02, 2011 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok das funktioniert schon ganz gut, ist aber noch ein problem da. Wenn zum beispiel Map01 gerade markiert ist und ich drücke mit rechtsklick auf Map02, dann blinkt Map02 nur kurz auf und ich bekomme ausgegeben, das Map01 angeklickt wurde.

blackgecko

BeitragDi, Mai 03, 2011 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Seltsam, das ist bei mir nicht so Confused
Ich sitz hier an nem Linux-PC, kann sein, dass die GUI, die hier für die maxgui verwendet wird, andere Angewohnheiten hat, mit Rechtsklicks umzugehen.

Tja, dann weiß ich im Moment auch nicht weiter.
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

marcel_bohn

BeitragMi, Mai 04, 2011 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmm.... Sad verdammt... ich sitz hier an nem XP, vllt. gehts ja auf vista und 7. Ich muss das mal testen

marcel_bohn

BeitragDo, Mai 05, 2011 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok wie es scheint funktionieren popupmenüs algemein net auf XP... hab mal aus dem Max GUI tut das Popupmenü-script kopiert und das hat so gar net funktioniert... dann muss ichs wohl ander lösen...

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group