Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Ferenz71 am Mai 19, 2016, 19:07:28

Titel: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 19, 2016, 19:07:28
Hallo Access-o-Mania,

mitterlweile recherchiere ich volle zwei Tage intensiv ohne sichtlichen Erfolg :'( Ich hoffe hier will mir jemand helfen.
Ich habe drei Navigationsebenen erstellt mit jeweils drei Navigationsbuttons. Nur die erste Navigationsebene soll beim Einstieg in die Accessdatenbank zu sehen sein. Anschlißend möchte ich, dass sobald der User mit dem Mauszeiger über den Button navigiert sich die zweite Navigationsebene mit seinen Navigationsbuttons einblendet. Eigentlich ist das ganz simpel. Der Button muß nur angeklickt werden, dann erscheint automatisch die nächste tiefere Ebene.
Ich habe schon DoCmd.BrowseTo und die Click-Ereignis-Prozedur in der Mousemove-Ereignis-Prozedur ausprobiert. Bin dabei kläglich gescheitert, wodurch ich mich jetzt frage, ob ich nicht vollkommen auf dem Holzweg bin. Mit BrowseTo kann ich wohl nur Formulare oder Reports aufrufen, aber nicht ein anderes Navigationbutton, oder?

Gruß Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: DF6GL am Mai 19, 2016, 19:47:18
Hallo,

und was erwartest Du von solch einer Kontruktion?
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Beaker s.a. am Mai 19, 2016, 19:53:31
Hallo Ferenz,
Das wird IMO nicht gehen, da es auf dem NaviForm nur EIN Control
gibt, in dem die einzelnen Formulare beim klicken angezeigt werden.
Wenn also z.B. das Form des ersten NaviButtons angezeigt wird, weiss
Access beim zweiten ja nicht, was da angezeigt werden soll, - wird ja
erst beim klicken geladen.
gruss ekkehard
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 19, 2016, 22:30:42
Hallo DF6GL :) ,
diese verschachtelte Navigationelement-Konstruktion liegt in einem leeren Formular, dass sich beim Starten der Access-Datenbank als Popup öffnet. Das Datenbankfenster wird dabei ausgeblendet. Der Anwender soll beim Start nur dieses sichtbare Popup-Fenster mit den Navigationselementen vor Augen haben. Bis hierin alles kein Problem. Jetzt soll aber die nächst-tiefere Navigationsebene erscheinen, sobald der Mauszeiger über einen Navigationsbutton der ersten Ebene fährt.
Ich hoffe ich konnte Dir den Zweck des Kontruktes näher bringen.
Ich Prinzip soll das Menü von einer Ebene zur nächsten bereits beim Mauszeigerkontakt aufklappen.
Gruß Ferenz
Hallo Beaker s.a  :),
ich weiß nicht genau was Du mit IMO meinst, aber ich habe ein verschachteltes Navigationselemente. Ich benutze also nicht die horizontale oder vertikale Navigationsvorlage, sondern habe die Navigationsbuttons individuell im leeren Formular positioniert. Dadurch kann ich mehr als 3 Navigationcontrols platzieren. Und beim Klickereignis soll der gleiche Navibutton aktiviert werden über das ich auch den Zeiger bewege, denn dann klappt die nächste tiefere Ebene auf. Zumindest stelle ich mir das so vor, weil ich ja das manuell so sehe. Die Formulare will ich in diesem Schritt noch erst gar nicht laden.
Wenn das manuell geht, dann muss es auch vba-technisch funktionieren, oder etwa nicht?
Gruß Ferenz
PS: Ich kann auch gern eine Beispieldatei erzeugen, die ich aber erst am Wochenende erstellen kann.
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: DF6GL am Mai 20, 2016, 07:39:56
Hallo,

na, den Aufbau hab ich schon verstanden, nur nicht , was das im Endeffekt (mit den Navi-Steuerelementen) bringen soll..
Den "Zweck" hast Du nicht erläutert.

Ein Navibutton kann höchstens markiert (Setfocus) , aber ein "Mausklick" darauf nicht per Objekt-VBA darauf ausgeführt werden. (Zumindest gibt es nur das Click-Event und keine Click-Methode).

Was gehen könnte, ist den entspr. Button zu markieren (--> Setfocus) und dann ein "Return" mit der Sendkeys-Krücke  abzusetzen.

Trotzdem seh ich keinen Nutzen  darin, mit den geschachtelten Navi-St.El. "vertikal" zu navigieren  (wofür das Navi-St.El. gar nicht entwickelt wurde), was ja nur bedeutet, ein (evtl. gefiltertes) Formular in den  UFO-Bereich des jeweiligen Navi-St.El.  zu laden.
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 20, 2016, 08:57:46
Hallo DF6GL,

der Zweck ist eine Access-Datenbank für die Leistungsverrechnung einiger Filialen zu erstellen. Die Datenbank soll von internen Usern bedient werden. Die Verrechnungsmethode ist recht umfangreich. Meine Aufgabe ist jetzt ein Navigationstemplate mit mehreren Ebenen zu erstellen, das sich wie ein modernes Navgiationsmenü verhält, sprich die Sub-Menüs sollen sich bereits beim Mauszeiger aufklappen. Zuerst dachte ich die Commandbars wären dafür gedacht, jedoch sind die nur für die Ribbons zuständig und sind nicht mehr aktuell. Deshalb dachte ich wären die geschachtelten Navi-St.El. dafür vorgesehen. Was wäre denn Deiner Meinung in Access nach dafür vorgesehen? Jetzt kann ich mein Skript noch umschreiben, da wir ganz am Anfang stehen.
Gruß Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: MaggieMay am Mai 20, 2016, 11:31:21
Hallo,
Zitatsondern habe die Navigationsbuttons individuell im leeren Formular positioniert
wenn ich das richtig verstehe, setzt du kein Navigationsformular ein, sondern eine auf Basis von Befehlsschaltflächen erstellte, selbst gebastelte "Navigation".
Was hindert dich daran bei MouseOver das Klick-Ereignis per VBA anzustoßen?

Oder wie ist das mit den "individuell positionierten" Buttons zu verstehen?
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: DF6GL am Mai 20, 2016, 12:06:57
Hallo,

ich denke eher, er will so etwas Ähnliches wie das Auswahlband hier oben auf der Seite unter dem Access-o-Mania-Logo....

Sowas ist aber in Access standardmäßig nicht vorhanden.

Es wäre aber möglich, sowas selber zusammen zu stricken, z. b. als An- und Untereinander-Reihung von Bezeichnungsfeldern in einem Formular, das man später in das eigentliche Anzeigeformular einbaut.
Die Bezeichnungsfelder werden mit dem MouseMove-Ereignis wechselseitig umgefärbt und sichtbar/unsichtbar geschaltet.

Beim Klick-Ereignis wird die entspr. Aktion ausgelöst.




Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Beaker s.a. am Mai 20, 2016, 14:25:05
Hallo Ferenz,
IMO = In My Opinion - meiner (bescheidenen)  Meinung nach

Ansonsten schliesse ich mich Maggie an, sowohl was das Verständnis
als auch die Lösung betrifft.

gruss ekkehard
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 21, 2016, 18:24:03
Hallo MaggieMay,
ja genau, es ist kein Navigationsformular, aber es sind verschachtelte Navigationbuttons in einem leeren Formular. Das Klick-Ereignis habe ich ausprobiert und mich gewundert warum es nicht geht. @DF6GL hat dazu eine Erklärung vom Mai 20, 2016, 07:39:56:
ZitatEin Navibutton kann höchstens markiert (Setfocus) , aber ein "Mausklick" darauf nicht per Objekt-VBA darauf ausgeführt werden. (Zumindest gibt es nur das Click-Event und keine Click-Methode).
Das geht wohl nur über die SendKeys-Krücke.
Hallo DF6GL,
Du hast genau ins Schwarze getroffen :D Stichwort "Auswahlband". Die erste Ebene soll horizontal und die folgenden vertikal angeordnet sein. Um ein naheliegendes Beispiel zu zeigen, hier der Link zur Opel-Homepage.http://www.opel.de/ (http://www.opel.de/)
Der erste Punkt ist "Fahrzeuge". Klappt vertikal sofort auf, sobald die Maus den Auswahl-Punkt berührt. Die nächste Ebene klappt dann wiederum vertikal auf und man könnte immer so weiter machen. Dein Vorschlag das Auswahlband und die Subbänder über die Labels zu erstellen ist so simpel wie genial, da die sehr flexibel einsetzbar sind :-) Darauf wäre ich nie gekommen. Ich habe das jetzt auch schon getest. Drei Dinge sind mir noch unklar.
1. Wenn ich alle Labels in der Entwurfsansicht platziere, dann überdecken sich einige zwangsläufig. Je mehr Ebenen, desto mehr Überdeckungen gibt es. Gibt es noch eine andere Möglichkeit um die Überdeckungen zu vermeiden, damit der Entwurf überschaubar ist?
2. Sobald ich das Klick-Ereignis bei einem Label ausgelöst habe, wie lade ich ein Formular in das Hauptformular in dem das Auswahlband steht?
3. Bezüglich Deiner Ausführung:
ZitatEs wäre aber möglich, sowas selber zusammen zu stricken, z. b. als An- und Untereinander-Reihung von Bezeichnungsfeldern in einem Formular, das man später in das eigentliche Anzeigeformular einbaut.
Was meinst Du mit "eigentliche Anzeigeformular"? Ich habe ein paar Labels in einem Formular positioniert. Ich dachte, dass ist mein Hauptformular in dem ich die Unterformulare öffne. Was für ein zusätzliches Formular, das Du als "eigentliche Anzeigeformular" nennst, ist das?
Hallo Beaker s.a.,
Danke für Deine Meinung.

Viele Grüße
Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: MaggieMay am Mai 21, 2016, 22:09:24
Was genau sind für dich "Navigationsbuttons"?
Könnte es sein, dass es sich um ganz normale Befehls-/Funktions-Schaltflächen handelt?
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: DF6GL am Mai 22, 2016, 08:15:34
Hallo,

zu 1)

da überdeckt sich doch nichts...  Alle(!)   möglichen Label werden in einer "Matrix"  angeordnet und wie gesagt,  gegenseitig sichtbar/unsichtbar gestellt. Es gibt auch nicht mehrere "Ebenen"..

zu 2)  Es kommt halt darauf an, was für eine Konstruktion das ist. Wenn sich das Ganze an das Standard-Navigationsformular anlehnen soll,  dann platziere im HFO ein UFO-St.-El. und lade darin das akt. anzuzeigende Form.

Me!Ufo_St_El_Name.SourceObject = "frmMeinPassendesForm"


Zu 3) Das "eigentliche Anzeigeformular" ist in diesem Beispiel Dein HFO. Der "Container"  wäre ein Formular, das eben nur die Labels enthält.  Dadurch  kann das "Menüband" auch an anderen Stellen verwendet werden, wenn dieses Form als UFO eingebunden wird.
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 22, 2016, 12:52:14
Hallo MaggieMay,
unter einem "NavigationButton" verstehe ich eine Befehls-/Funktions-Schaltfläche, die im "NavigationControl"-Objekt eingebetet ist. Ich würde die Schaltfläche nicht als normal bezeichen, da sie zwingend an das "NavigationControl" gekoppelt ist. Die "NavigationControl" ist bereits in einer "Navigationform" eingebunden, sie kann aber auch in einem leeren Formular eingebunden werden.
Hallo DF6GL,
Deine Antwort zu 3. ist interessant. Ich dachte nicht, dass es mehrere Möglichkeiten an Konstruktionen gibt. Da stellt sich mir jetzt eine grundsätzliche Frage über das Konstrukt. Deshalb weiß ich auch nicht welche für mich die geeignetste Konstruktion ist. Es muss sich nicht an das Standard-Navigationsformular anlehnen. Ich hatte damals einfach nur nichts anderes für meine Zwecke finden können. Ich hoffe, Du kannst mir für meiner Entscheidungsfindung ein paar Anhaltspunkte geben. Das Auswahlband, das mehrere Verzweigungen besitzen soll, soll folgende Templates und Aktionen lostreten:
- Template öffnen, um externe Daten zu importieren
- Eingabeformular öffnen
- Template öffnen, um Datenprüfungen auszulösen
- Template öffnen, um Berechnungen auszulösen
- Reports erstellen
- diverse kleinere Aktionen
Anforderungen an die Templates.
- Der Anwender darf immer nur ein Template zur selben Zeit benutzen dürfen.
Arten an Konstruktionen:
- Auswahlband als HFO oder UFO
- Die UFOs als Popup oder im HFO integriert
Viele Grüße
Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: DF6GL am Mai 22, 2016, 13:01:56
Hallo,

naja, die "Bedien-Oberfläche" zur Steuerung der einzelnen Aktionen musst Du Dir selber ausdenken....

Natürlich gibt es mehrere Methoden, eine Bedien-Oberfläche zu generieren:


Übersichtsform
ganz einfach: mit Kombifeldern die gewünschte Aktion auswählen.
Treeview-St.El.
user-spezifisches Ribbon-Band
F-Tasten-Steuerung
etc.
etc.


Was ist ein "Template"?
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 22, 2016, 18:49:06
Hallo DF6GL,

unter einem "Template" habe ich immer eine Eingabe Maske verstanden. Jetzt wo Du fragst habe ich nochmal nachgesehen. Ein "Template" ist wohl eher sowas wie eine Vorlage, oder wie würdest Du sowas nennen? Ich freue mich, wenn Du mich auf den korrekten IT- /Access-Sprachgebrauch hinweist.
Bezüglich meiner Konstruktion. Ich werde ein HFO mit dem Auswahlband erstellen und die Sub-Fenster/-Formulare als Popup öffnen. Beim erstellen ist mir aufgefallen, daß ich kein "Verlassen"-Ereignis habe, wie es im Gegensatz das "Enter" beim eintreten darstellt. Ein Enter-Ereignis gibt es leider nicht beim Label, dafür beim "commandbutton". Gibt es überhaupt eine Möglichkeit alle unteren Labels auszublenden, sobald der Mauszeiger auf eine leere Fläche bzw. auf den obersten Auswahlband zeigt?
Außerdem flakert das Label mit dem mousemove-Ereignis, weil man auch mal ein bischen im Label stoppt und weiterbewegt. Kann ich das Flakern unterbinden?
Viele Grüße
Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: DF6GL am Mai 22, 2016, 19:36:10
Hallo,

nun, Access ist halt kein Entwicklungprogramm für visuelle Darstellungsformen..

Das Flackern wird eher schwierig zu unterbinden sein.  Möglicherweise gelingt es mit dem Trick, über eine "Merk"-Variable das erste MouseMouve-Ereignis zu erkennen und damit das Ereignis (d. h. den dahinerliegenden Code) bei weiterem Auftreten zu überspringen.

Bei der leeren Fläche handelt es sich vermutlich um den Detailbereich eines Forms.  Der sollte auch ein MouseMove-Ereignis besitzen...


Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: markusxy am Mai 23, 2016, 09:47:01
Hallo Ferenz,
eine mögliche Option wäre auch die Verwendung des "Kontextmenüs", sprich Commandbar Klasse.
Die sollte man zwar per Klick (auch linke Maustaste) vom ersten Element  (Commandbutton oder Label) öffnen - was meiner Meinung nach bei der ersten Ebene eh besser ist. Danach geht eh alles per MouseMove - aber ohne Flackern.
Es spielt auch keine Rolle wie viele Ebenen du hast und verwendest eine fertige Klasse bei der du dich um nichts mehr kümmern musst.

LGM
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 24, 2016, 20:47:56
Hallo DF6GL,
Dein Trick hat prima funktioniert  :). Als Merker habe ich einfach die Hintergrundfarbe gewählt, weil die dem Anwender sowieso anzeigen soll wo er sich befindet. Nach dem selben Prinzip habe ich auch das Flackern während dem Mousemove des Detailbereichs unterbunden. Jetzt fehlt mir noch der Pfeil im Label, der anzeigt in welche Richtung die nächste Auswahl aufklappen wird. Ich habe im Anhang ein Bild hinterlegt, in dem ich die Pfeile mit einem gelben ovalen Kreis markiert habe. Ich habe dazu nur eine Lösung gefunden. Ich soll die Schriftart auf "Wingdings" ändern und ein bestimmtes Symbol auswählen, aber wenn ich das mache, dann ist der Text meines Labels auch im Wingdings. Gibt es da nicht einen Trick?
Hallo markus88,
ich bin mir nicht ganz sicher was Du mit "Kontextmenüs" meinst. Ich habe nämlich die Commandbar ausprobiert, die erstellt mir jedoch ein Add-In als Registerkarte und in den Gruppen ein Add-In Button. Auf der Microsoftentwicklerseite steht dazu, dass die Commandbar in der weiteren Entwicklung von Office nicht mehr berücksichtigt wird, da die Ribbons in XML programmiert werden.
Zitat"CommandBar"-Objekte wurden in einigen Microsoft Office-Anwendungen durch die neue Menüband-Komponente der Microsoft Office Fluent-Benutzeroberfläche abgelöst. Suchen Sie in der Hilfe nach dem Stichwort "Menüband", um weitere Informationen zu erhalten.
https://msdn.microsoft.com/de-de/library/office/ff862548.aspx (https://msdn.microsoft.com/de-de/library/office/ff862548.aspx)
Jetzt sehe ich aber auch einen Artikel über commandbar class. Jedoch nicht unter MS Office, sondern unter msdn.microsoft.
Wie kann ich die in VBA einbinden? Die Bibliothek des commandbar Objekts musste ich auch zusätzlich in die Entwicklerumgebung einbinden. Die commandbar class ist nur unter C#, C++ und VB beschrieben. Geht die commandbar class unter VBA überhaupt?
Viele Grüße
Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: markusxy am Mai 24, 2016, 21:06:38
Kontextmenü ist das was erscheint, wenn du die rechte Maustaste drückst.
Wenn du z.B. auf einem Formular oder einen Button drückst siehst du das Standard Kontextmenü.
Dieses kann man mit der Commandbar erstellen. Früher hat man es auch für das Menüband->Ribbon  verwendet, jetzt nur noch für das Kontextmenü.
Verweis auf Microsoft Office Object Library setzen, dann siehst du die Objekte im Objekt Explorer und kannst die Hilfe dazu verwenden.

Hier ist der Link.
https://msdn.microsoft.com/de-de/library/office/ff865005.aspx (https://msdn.microsoft.com/de-de/library/office/ff865005.aspx)

Ich verwende die recht oft, da man sie auch dynamisch erstellen kann und mehrere Ebenen ideal darstellen kann - z.B. wenn es Einschränkungen bei unterschiedlichen Rechten geben soll.
LG


Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 25, 2016, 08:40:25
Hallo markus888,
das klingt sehr interessant :). Ich verstehe nur nicht wie ich die Commandbar in das Formular einbetten soll.
Muss ich zuerst ein commandbar Steuerelement erzeugen wie dieses hier?
Set myControl = CommandBars("Custom").Controls _
    .Add(Type:=msoControlComboBox, Before:=1)
With myControl
    .AddItem Text:="First Item", Index:=1
    .AddItem Text:="Second Item", Index:=2
    .DropDownLines = 3
    .DropDownWidth = 75
    .ListHeaderCount = 0
End With

Wie bekomme ich das Steuerelement in das Formular und wie positioniere ich es oder muss ich den Kontext an die Labels hängen, die ich bereits erstellt habe? Ich müsste dann nur den Kontext erstellen wie das hier, oder, wenn denn das überhaupt möglich ist?
Set myBar = CommandBars _
    .Add(Name:="Custom", Position:=msoBarTop, _
    Temporary:=True)
With myBar
    .Controls.Add Type:=msoControlButton, ID:=2
    .Visible = True 
End With
MsgBox (myBar.Context)


LG Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: DF6GL am Mai 25, 2016, 10:18:40
Hallo,


hier gibt es eine Beschreibung:
http://www.access-basics.de/index.php/Kontextmenues.html
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: markusxy am Mai 25, 2016, 10:33:29
Hallo Ferenz!
das Thema ist vielschichtig, aber es lohnt sich.
Wenn die Commandbar sich nicht verändert, dann kannst du sie erstellen und dem Steuerelement fix zuordnen.
Bei jedem Steuerelement gibt es im Eigenschaftsblatt den Punkt Kontextmenüleiste, dort kannst aus den erstellten Commandbars auswählen.
Bei einem rechtsklick wird dann das Menü angezeigt.
Wichtig ist halt die onAction Eigenschaft des Commandbars. Die bestimmt welche Public Funktion aufgerufen wird, wenn das Element angeklickt wird.

Kleines Beispiel als Anregung:
Sub CommandbarCreate()
    Dim oCB As CommandBar
    Dim oCbPopup As CommandBarPopup
    Dim oButton As CommandBarButton
    Dim sAction$
   
    On Error Resume Next
    CommandBars("Test").Delete
    On Error GoTo 0
   
    Set oCB = CommandBars.Add("Test", msoBarPopup)
    sAction = "=Action()"
   
    Set oButton = oCB.Controls.Add(msoControlButton)
    With oButton
        .Caption = "Action 1"
        .OnAction = sAction
        .Parameter = 1
        .FaceID = 499
    End With
   
    Set oButton = oCB.Controls.Add(msoControlButton)
    With oButton
        .Caption = "Action 2"
        .OnAction = sAction
        .Parameter = 2
    End With
   
    Set oCbPopup = oCB.Controls.Add(msoControlPopup)
    oCbPopup.Caption = "Ebene2"
    oCbPopup.CommandBar.Name = "Ebene2"
   
   
    Set oButton = oCbPopup.Controls.Add(msoControlButton)
    With oButton
        .Caption = "Action 3"
        .OnAction = sAction
        .Parameter = 3
        .FaceID = 19
    End With
   
End Sub
Public Function Action()
    Dim oCBB As CommandBarButton
   
    Set oCBB = CommandBars.ActionControl
    MsgBox "Action " & oCBB.Parameter

End Function

LG Markus
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 26, 2016, 14:38:13
Hallo Franz und Markus,
danke für die Beschreibungen. Die Commandbar- und Commandbutton Verschachtelung ist echt super mit seinen vielen Möglichkeiten gegenüber meiner Labellösung wie bspw. die Gruppenbildung, das langsame Aufklappen der Ebene oder der FaceID :). 
Ich habe jedoch den Kontextaufruf an das Mousemove-Ereignis gekoppelt, weil ich dem User nicht den Rechtsklick zumuten kann.
Jetzt hätte ich noch ein paar Fragen:
1. Die commandbar poppt jetzt sofort beim Label auf, da ich den Kontextabruf an das mousemove gekoppelt habe. Ungeschickterweise poppt die Commandbar genau dort auf wo sich der Mauszeiger befindet. Die commandbar soll aber direkt unter dem Label linksbündig aufpoppen. Wie ist das möglich?
2. Die commandbuttons haben auch keine Farbeigenschaft, denen ich eine Farbe zuordnung kann. Wie ändere ich die Farbe der commandbuttons und deren Ebenen?
3. Wozu dient eigentlich der Parameter beim commanbarbutton?
Die Beschreibung bei https://msdn.microsoft.com/de-de/library/ff862239.aspx (https://msdn.microsoft.com/de-de/library/ff862239.aspx) sagt mir nichts.
Was macht bspw. Parameter-Wert 1 oder 2.
LG Ferenz
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: markusxy am Mai 26, 2016, 21:46:34
Zitat von: Ferenz71 am Mai 26, 2016, 14:38:13
1. Die commandbar poppt jetzt sofort beim Label auf, da ich den Kontextabruf an das mousemove gekoppelt habe.

Das Kontextmenü ist immer direkt beim Mauszeiger.
Im Prinzip kann man nur vorher den Mauszeiger positionieren (falls du nicht weißt wie es geht - goolge weiß alles - und dann die Commandbar anzeigen.
Damit das sinnvoll ist würde ich aber die Commandbar nur mit Klick öffnen. Du kannst es ja so machen, dass es mit der rechten und er linken Maustaste erscheint.

Zitat
2. Die commandbuttons haben auch keine Farbeigenschaft, denen ich eine Farbe zuordnung kann. Wie ändere ich die Farbe der commandbuttons und deren Ebenen?
Kenn da keine Weg.
Da gibts nur den Weg über die Standard Formulare.

Zitat
3. Wozu dient eigentlich der Parameter beim commanbarbutton?

Hast du schon in der VBA Hilfe nachgesehen?
Ist eher überflüssig. So was wie der Tag.
LG Markus
Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: Ferenz71 am Mai 29, 2016, 17:49:30
Hallo Markus und Franz  :),
den Kontext öffne ich mit dem Mausklick. Ich habe die Formularposition innerhalb Windows ermittelt und dadurch die Maus in Relation zum Label positionieren können.
Ihr habt mir echt super geduldig meine noch so banalen Fragen beantwortet. Wichtig für mich ist auch eine Antwort zu erhalten auf Fragen, die keine Lösung besitzen, weil es keine Möglichkeit gibt. Das erspart mir sehr viel Rechercheaufwand.
Super herzlichen Dank :)
Ich wünsche euch alles Gute
Ferenz


Titel: Re: Nächste untere Navigationsebene bei mousemove aufklappen
Beitrag von: markusxy am Mai 29, 2016, 18:20:33
@Ferenz
schön das es funktioniert hat.
Du bist immerhin in der Lage Vorschläge auch selbst umzusetzen, was Hilfestellung sehr erleichtert.
LG Markus