Modales Fenster verhält sich anders

Liebe/-r Experte/-in,
ich habe ein Formular erstellt, in dem u. a. ein TreeView-Objekt enthalten ist. Diesem TreeView-Objekt habe ich ein Kontextmenü hinzugefügt. Funktioniert soweit auch wie es soll. In meiner Anwendung habe ich ein Formular, das immer maximiert angezeigt sein soll. Daher habe ich das Formular mit dem TreeView auf Popup gestellt, so dass daraus ein modales Fenster wird. Tja, und dann ging plötzlich mein Kontextmenü nicht mehr. Es wird zwar angezeigt. Beim Anklicken der Menüeinträge passiert aber nichts - auch keine Fehlermeldung. Nehme ich Popup raus, geht’s wieder.
Ich habe dann die Funktionen, die über das Kontextmenü aufgerufen werden sollen, über einen Button-Event aufgerufen - das funktioniert auch.
Kann mir jemand einen Tip geben, wie ich das Problem lösen kann.

Danke nd Gruß
B. S.

Hallo B.S.,

Ich möchte ja nicht als erstes Kritik loswerden aber was soll ich dir auf deine Anfrage antworten ???
Ok ins Grüne hinein: „Dein Code ist falsch“
2.
Ist es mega-unhöflich keinen Namen in deiner Anfrage zu nennen. Du möchstest anonyme Hilfe ? Dafür gibt es Google…

Poste doch beim nächsten Mal deinen Code mit (und vielleicht deinen Namen)

Dann wird dir geholfen…

Gruß
Marco

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo Marco,
bitte entschuldige, dass ich mich offensichtlich nicht an die Netiquette dieses Forums gehalten habe. Ich bin neu hier - Du hast meinen ersten Post bekommen. Daher meine Bitte, etwas nachsichtig zu sein, wenn ich nicht gleich alles auf den Tisch lege, ohne zu wissen, welche Leute hier unterwegs sind. Mein Name ist Bernhard Steinheber.

Dann zum Thema: Auch hier war ich erst mal nicht ausführlich - es hätte ja sein können, dass jemand dieses Problem schon mal gehabt hatte und sofort eine Antwort darauf weiss. Nachdem das so wohl nicht ist, versuche ich mal, Dir die notwendigen Infos zu liefern.

Funktion, in der das Kontextmenü erstellt wird:

Private Sub prepareTvMenu()
Dim tvMenu As CommandBar
Dim cbb As CommandBarButton

Set tvMenu = CommandBars.Add(„tvMenu“, msoBarPopup, False, False)
Set cbb = tvMenu.Controls.Add(msoControlButton)
With cbb
.Caption = „OE als Hauptknoten einfügen“
.OnAction = „=insertMainNode()“
End With
’ Hier kommen dann noch weitere Menüpunkte …
End Sub

Hier nun die Funktion, in der das Menü aktiviert wird:

Private Sub tvNested_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Long, ByVal y As Long)
Dim AktNode As MSComctlLib.node

Set AktNode = tvNested.SelectedItem

If AktNode Is Nothing Then
Exit Sub
End If

If Button = acRightButton Then
CommandBars(„tvMenu“).ShowPopup
End If
End Sub

Zu guter letzt noch die Callback-Funktion, die durch den Menüklick aufgerufen werden sollte:

Function insertMainNode()
'hier wird ein weiteres Formular aufgerufen - auch als Popup, allerdings wird diese Funktion nie aufgerufen und das ist der Punkt um den es geht - warum wird diese Funktion nicht aufgerufen, wenn das Fenster, aus dem es aufgerufen wird, ein Popup-Fenster ist.
DoCmd.openForm „frm_OE“, acNormal, , , , acDialog

End Function

Ich hoffe, ich konnte die Problematik so beschreiben, dass Du damit was anfangen kannst. Ich google jetzt schon seit Tagen zu diesem Thema, konnte aber nichts finden. Drum hoffe ich sehr darauf, dass ich hier Hilfe bekommen.

Danke und Gruß
Bernhard

PS: gibt es denn eine Möglichkeit, den Code etwas besser formatiert zu posten. Ich habe gesehen, dass die Einrückungen rausgenommen werden.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Bernhard,

Entschuldigung angenommen und vergeben und jetzt zu deinem Problem.
Hast du mal hier geschaut ?
http://www.office-loesung.de/ftopic260051_0_0_asc.php

Warum benutzt du nicht ein generelles eigenes Kontextmenü im Formular statt eines Treeview Objektes ?

Ansonsten kann ich dir anbieten das du mir eine Beispiel-Datei(ohne deine Daten und unnötige Objekte) per Mail schickst und ich schau mal ob ich den Fehler finden kann.

Email: schmitzbackes(at)nurfuerspam(punkt)de

Da dies ein öffentliches Forum ist ist das nur eine Fun Adresse. Ich antworte dir später von meinem richtigen Account.

Gruß
Marco

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Liebe/-r Experte/-in,
ich habe ein Formular erstellt,

mit welchem Access?

in dem u. a. ein TreeView-Objekt enthalten ist.

welches Treeview - Objekt?

In meiner Anwendung habe ich ein Formular, das immer
maximiert angezeigt sein soll.

warum?

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)

hallo Marco,
danke für die Antwort. Deinen Hinweis
„Warum benutzt du nicht ein generelles eigenes Kontextmenü im Formular statt eines Treeview Objektes?“
verstehe ich nicht ganz. Das Kontextmenü hängt nicht am TreeView-Objekt. Es wird beim Aufruf des Formulares erstellt und ist somit - so zumindest meine Sicht - ein Child-Objekt des Formulares. Es wird lediglich durch einen Event des TreeView-Objektes angezeigt.

Ich werde Dir heute oder evtl. auch erst morgen mal ne Version der Datenbank schicken. Vorab schick ich Dir schon mal nen Screenshot, damit Du mal siehst, wie das Ding ausschaut.

Danke schon mal für die Untersützung.
Gruß
Bernhard

Hallo Bernhard,

Entschuldigung angenommen und vergeben und jetzt zu deinem
Problem.
Hast du mal hier geschaut ?
http://www.office-loesung.de/ftopic260051_0_0_asc.php

Warum benutzt du nicht ein generelles eigenes Kontextmenü im
Formular statt eines Treeview Objektes ?

Ansonsten kann ich dir anbieten das du mir eine
Beispiel-Datei(ohne deine Daten und unnötige Objekte) per Mail
schickst und ich schau mal ob ich den Fehler finden kann.

Email: schmitzbackes(at)nurfuerspam(punkt)de

Da dies ein öffentliches Forum ist ist das nur eine Fun
Adresse. Ich antworte dir später von meinem richtigen Account.

Gruß
Marco