Hallo Accessianer,
wenn ich eine Befehlsschaltfläche drücke, wird sie für eine zu kurze Zeit eingedrückt dargestellt. Lässt sich diese Zeit irgendwie verändern, also verlängern?
Ich benutze folgenden Code:Private Sub Neuer_Lief_Click()
Me!Rechteck621.SpecialEffect = 2
DoEvents
Me!Rechteck621.SpecialEffect = 1
End Sub
Für eine Hilfe schon mal vielen Dank im Voraus!
Viele Grüße
Rainer
Hallo,
"wenn ich eine Befehlsschaltfläche drücke, wird sie für eine zu kurze Zeit eingedrückt dargestellt."
die Schaltfläche wird solange "eingedrückt", wie die Maustaste gedrückt wird....(und der Mauszeiger sich über der Schalfläche befindet)
Hallo Franz,
wenn ich auf die Schaltfläche drücke, wird diese noch nicht eingedrückt dargestellt.
Die Schaltfläche erfährt erst dann eine Eindrückung, wenn ich die Maustaste wieder loslasse.
Die Eindrückzeit beträgt, unabhängig von der "Mausdruckzeit", gefühlte 0,1 Sekunden. Das ist mir zu kurz.
Ich habe mal Anfang des Jahres zu diesem Thema rein zufällig einen Code, wie den obigen, im Netz gesehen, bei dem zusätzlich die Möglichkeit vorhanden war, irgendwo unterhalb der Zeile "Me!Rechteck621.SpecialEffect = 2" in einer zusätzlichen Zeile eine Zeit in Sekunden einzugeben (z.B. 0,5).
Da ich zu damaliger Zeit den o.g. Code bereits im Einsatz hatte, habe ich mich nicht weiter darum gekümmert. Im Nachhinein bereue ich das.
Konnte diesen "komfortablen" Code jedoch nicht wieder finden.
Viele Grüße
Rainer
Hallo Rainer,
sprichst Du wirklich von einer Schaltfläche? (Name bei Dir: "Neuer_Lief")
oder meinst Du das Rechteck-Steuerelement (Name: "Rechteck621") ?
Um welche Access-Version handelt es sich?
Vermutlich meinst Du, zwischen den beiden Codezeilen, die die Eigenschaft "SpecialEffect" des Steuerelementes umsetzen, eine Wartezeit einzufügen.
Eine Wartezeit (Programmunterbrechung) kann z. B. mit einer solchen Funktion erzeugt werden:
http://dbwiki.net/wiki/VBA_Tipp:_Programmausf%C3%BChrung_f%C3%BCr_einen_Zeitraum_unterbrechen
Hallo Franz,
zunächst vielen Dank für Deine Hilfe mit dem Link.
Zitatsprichst Du wirklich von einer Schaltfläche? (Name bei Dir: "Neuer_Lief")
oder meinst Du das Rechteck-Steuerelement (Name: "Rechteck621") ?
Es ist die Kombination einer transparenten Befehlsschaltfläche und eines animierten Rechtecks.
Zitat
Um welche Access-Version handelt es sich?
Es handelt sich um Access 2010. Und das ist das Problem. Meines Wissens lässt sich mit dieser Version keine "typische" Befehlsschaltfläche mehr erzeugen, wie ich das von älteren Versionen kenne. Nur "rundgelutschte" Schaltflächen. Deshalb behelfe ich mir mit dem Trick dieser Kombination und des Animations-Codes.
ZitatVermutlich meinst Du, zwischen den beiden Codezeilen, die die Eigenschaft "SpecialEffect" des Steuerelementes umsetzen, eine Wartezeit einzufügen.
Ja, genau.
Übrigens habe ich in der Zwischenzeit eine wesentlich bessere Variante gefunden, mit denen man eine Befehlsschaltfläche absolut real und in "Echtzeit" simulieren kann - ohne das "kosmetische" Problem, dass sich diese erst nach dem Loslassen der Maustaste eindrückt. Hier die Codes:
Private Sub Befehl3_mousedown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me!Rechteck4.SpecialEffect = 2
End Sub
Private Sub Befehl3_mouseup(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me!Rechteck4.SpecialEffect = 1
End Sub
Ich habe mal dem Anhang eine Access-Datei mit zwei Beispielen beigefügt.
Beispiel 1: alte Variante - Eindrückung für sehr kurze Zeit erst nach Loslassen der Maustaste (entspr. Code ganz oben im 1. Beitrag).
Beispiel 2: neue Variante - Eindrückung sofort und so lange man mit der Maus drauf bleibt.
Viele Grüße
Rainer
[Anhang gelöscht durch Administrator]
Hallo,
Sicherlich ist das Klick-Ereignis nicht geeignet für Dein (jetzt eher erkennbares) Vorhaben...
Stell aber mal einfach die Eigenschaften einer Schaltfläche "Design verwenden" auf nein und "Rahmenart" auf transparent...
Hallo Franz,
ZitatSicherlich ist das Klick-Ereignis nicht geeignet für Dein (jetzt eher erkennbares) Vorhaben...
Wie bereits in meinem letzten Beitrag geschrieben, habe ich eine angenehme Lösung (siehe Beispiel 2) gefunden.
ZitatStell aber mal einfach die Eigenschaften einer Schaltfläche "Design verwenden" auf nein
"Design verwenden" steht bereits auf "Nein".
Zitatund "Rahmenart" auf transparent...
Einen optischen Unterschied zwischen "Durchgezogen" (alt) und "Transparent" (neu) kann ich nicht feststellen.
Hinweis: "Hintergrundart" steht auf "Transparent".
Viele Grüße
Rainer
Hallo Rainer,
ist ja gut, wenn es geht...
Will Dir ja nur eine Alternative zeigen, die Du nicht benutzen musst.
[Anhang gelöscht durch Administrator]
Hallo Franz,
kein Problem - bin offen für Alternativen.
Vielen Dank für Deine Hilfe. :)
Viele Grüße
Rainer