Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Double Klick auf Button löst zusätzlich 2x klick aus.

Begonnen von Hondo, Oktober 08, 2016, 10:25:20

⏪ vorheriges - nächstes ⏩

Hondo

Hallo,
habe verschiedene Buttons mit dem Klick-Ereignissen =btnklick(x,False) und dem DoubleKlick Ereignis =btnklick(x,True)
Unterschieden nach dem 2. Parameter hab ich mal per debug.print die Eventauslösung protokolliert:

Private Function btnclick(ByVal num As Long, ByVal dblklick As Boolean)
    If dblklick Then
        Debug.Print "dblklick"
    Else
        Debug.Print "klick"
    End If
End Function


Ergebnis im Direktfenster beim doppelt klicken:
klick
dblklick
klick


d.h. ein doubleklick löst auch immer ein klick-Event aus oder was?
Gruß Andreas


DF6GL

Hallo Andreas,


Zitatein doubleklick löst auch immer ein klick-Event aus


genau so....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Hondo

Hallo,
fällt wohl unter die Rubrik "It's not a Bug it's a Feature"
Hab das jetzt mit einem Timer gelöst:


Private doubleclicked As Boolean
Private clickednumber As Long

Private Function btnclick(ByVal num As Long)
    clickednumber = num
    If Me.TimerInterval > 0 Then
        Me.TimerInterval = 0
        RaiseEvent ItemDoubleClicked(Me.NodeCaption, Me.NodeKey, Me.IsGroup)
        doubleclicked = True
    Else
        If Not doubleclicked Then Me.TimerInterval = 150
        doubleclicked = False
    End If
End Function

Private Sub Form_Timer()
    Dim strKeys() As String
    Me.TimerInterval = 0
    strKeys = Split(Me.NodeKey, "|")
    If UBound(strKeys) = clickednumber Then   'auf richtiges Icon/Button geklickt
        If Me.ChildrenCount > 0 Then
            If Me.IsExpanded = True Then
                CollapseNode Me.NodeKey
            Else
                ExpandNode Me.NodeKey
            End If
        End If
    ElseIf clickednumber > UBound(strKeys) Then
        Me.NodeSelected = IIf(IsNull(Me.NodeSelected), True, Not Me.NodeSelected)
        RaiseEvent ItemClicked(Me.NodeCaption, Me.NodeKey, Me.IsGroup)
    End If
End Sub


Was mich ärgert ist dass man damit den Form_Timer belegt, ich hätte den lieber frei für spätere Aufgaben.
Werde dann wohl API Timer nehmen müssen.

Gruß Andreas

DF6GL

Hallo,

naja, ist ja in den Spez. so definiert/beschrieben:

https://msdn.microsoft.com/de-de/library/office/ff822517.aspx
Zitat
.
.
.
Durch Doppelklicken auf ein Steuerelement treten die Ereignisse Click und DblClick auf. Wenn der Fokus beim Doppelklicken noch nicht auf das Steuerelement gesetzt ist, treten vor den Ereignissen Click und DblClick zunächst die Ereignisse Enter und GotFocus für das Steuerelement auf.
.
.
.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access