Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

MouseMove / ComboBox

Begonnen von dddt1, Mai 26, 2025, 10:57:52

⏪ vorheriges - nächstes ⏩

dddt1

Guten Tag Zusammen,

habe bei meiner DB folgendes Problem,

möchte ein Ereignis (MouseMove) beim Bewegen über einen inaktivierten ComboBox auslösen.
Es funktioniert aber nicht.

Geht nur wenn ich den ComboBox aktiv habe.

Wie könnte man es lösen?

Beste Grüße

dddt1

Knobbi38

Hallo,

gerade mal getestet, aber bei mir funktioniert das auch wenn die Kombobox nicht den Fokus hat.

Knobbi38

Frank200

Vermutlich bezieht sich d³t1 mehr auf den Fall
Combobox.Enabled = False  ?
Gruß
Frank

dddt1

Hallo Frank,
hallo Knobbi

genau das, was Du meintest Frank,

solange die Eigenschaft "Enabled" auf "false" eingestellt ist, funktioniert dann die Methode "MouseMove" nicht mehr.

Beste Grüße

dddt1

Beaker s.a.

Hallo,

Ich habe es jetzt nicht getestet, aber wenn du sowohl .Enabled als auch .Locked
auf True setzt, hast du den gleichen Effekt (Feld lässt sich nicht editieren).
Da das Feld dann aber den Focus erhalten kann, sollte auch dein MouseOver
klappen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

dddt1

Hallo Beaker

dein Vorschlag hatte ich getestet. Funktioniert leider nicht.

Mein Ziel ist:
wenn man mit dem Maus über den inaktivierten ComboBox (ComboBox.Enabled=False) drüber geht, dann sollte ein Ereignis von MauseMove erfolgen. Aber das passiert leider nicht.

Beste Grüße
dddt1

PhilS

Zitat von: dddt1 am Mai 26, 2025, 15:38:22wenn man mit dem Maus über den inaktivierten ComboBox (ComboBox.Enabled=False) drüber geht, dann sollte ein Ereignis von MauseMove erfolgen.
Bei einem Control mit Enabled=False wird das MouseMove-Event des jeweiligen Formularbereichs ausgelöst.
Du kannst dann die Mausposition (x,y) aus den MouseMove-Argumenten mit der Position deiner ComboBox vergleichen, um festzustellen ob das MouseMove über der ComboBox stattgefunden hat.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Knobbi38

Hallo ddt,

warum sollte man an dem gewohntem Verhalten der Windows UI etwas ändern wollen? Das irritiert doch nur die Anwender. Eigentlich ist so etwas keine gute Idee.

Wie dem auch sei ...

Tip:
lege über die Kombobox ein transparentes Label und schalte diese sichbar, sobald die Kombobox disabled wird und vice versa. Wenn du einen gemeinsamen Eventhandler benutzt, merkst du keinen Unterschied.

Gruß Knobbi38

dddt1

#8
Guten Morgen Knobbi,

möchte nichts Besonderes, nur bei der Bewegung des Cursors über den ComboBox eine Meldung im Statusfeld so wie "Das Element ist momentan für Auswahl gesperrt." erscheinen lassen.

Probiere ich mit dem Label.

Danke für Deine Idee!

Beste Grüße
dddt1

Knobbi38

Hallo,

Meine Meinung dazu:
zu viel Informationen für den Anwender und unnötiges Geflacker auf dem Bildschirm, welches vom eigentlichen Fokus ablenkt.

Gruß Knobbi38

dddt1

Danke für Hilfe, Knobbi!

Deine Meinung ist auch lehrreich für mich!

Beste Grüße
dddt1

Knobbi38

Hallo,

immer wieder gerne.

Du kannst auch einfach die Vorgaben von Access verwenden, und ein "gesperrtes" Element durch .enabled = false und .locked = false für den Anwender sichtbar machen. Ist eigentlich dann für alle Anwender gleich verständlich und die übliche gewohnte Darstellung.

Gruß Knobbi38





Beaker s.a.

Man kann vielleicht auch einfach den SteuerelementTip-Text verwenden.
Der funzt autom. beim MouseOver und dem ist es auch egal ob das Control
Enabled ist oder nicht.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

dddt1

Knobbi, so hatte ich auch gemacht.

Nur für den Benutzer der DB möchte ich es deutlich machen, warum der ComboBox auf einmal ausgegraut ist.

Beste Grüße
dddt1

dddt1

Hallo Beaker,

danke für den Tipp!

Den SteuerelementTip-Text hatte ich auch benutzt. Aber da steht die Funktionsbeschreibung des Elements.

In einem separatem Statusfeld lasse ich alle aktuelle Messages während der Arbeit mit DB zeigen. Deswegen möchte ich es konsequent auch bei den ausgeblendeten Combobox machen, aber es war nicht möglich.

Beste Grüße
dddt1