1 1 1 1 1 1 1 1 1 1 Rating 4.00 (3 Votes)

Problemstellung:

Für 32Bit und 64Bit Office Versionen

Wie kann bei Mausbewegung das aktive Control hervor heben?

Voraussetzungen:
Das Bsp ist ab A97 lauffähig.

Funktionsweise:
Es sind 2 Funktionen erforderlich. Eine um das Control hervorzuheben und das andere um beim Verlassen
den Urzustand wieder herzustellen.

Am Anfang müssen im Modulkopf einige Variablen deklariert werden.

Dim mstPrevControl As String
Dim iFWeight As Long
Dim bFUnder As Boolean
Dim bItalic As Boolean
Dim lngFColor As Long
Dim lngBColor As Long
Const cNormal = 400
Const cBold = 700


1. Ändern:

Private Function tk_SetFontProperty(sControlName As String, _
                                    Optional FontWProp As Long = cNormal, _
                                    Optional FontUProp As Boolean = False, _
                                    Optional FontIProp As Boolean = False, _
                                    Optional FontColor As Long = 0, _
                                    Optional ControlBackColor As Long = 16777215)
'*******************************************
'Name:      tk_SetFontProperty(Function)
'Purpose:   Ändert die Eigenschaften des Controls beim überfahren mit der Mouse
'Author:    Thomas Keßler
'Date:      April 28, 2004, 13:00:00
'Inputs:    sControlName = Name des Controls
'           FontWProp = Schriftstärke (Optional, Standard=Normal)
'           FontUProp = Text unterstrichen? (Optional, Standard = False)
'           FontIProp = Text kursiv? (Optional, Standard = False)
'           FontColor = Textfarbe (Optional, Standard = 0 Schwarz)
'           ControlBackColor = Hintergrundfarbe?
'           (Optional, Standard = 16777215 Weiß)
'Output:
'Example:   tk_SetFontProperty "Text1",cBold, , True, 255, 65535
'           Würde bei der Mausbewegung den Inhalt des Textfeldes "Text1" Fett,
'           nicht unterstrichen,
'           kursiv, Textfarbe Rot und Hintergrundfarbe Gelb darstellen
'*******************************************
On Error Resume Next
   mstPrevControl = sControlName
   With Me(sControlName)
        .FontWeight = FontWProp
        .FontItalic = FontIProp
        .FontUnderline = FontUProp
        .ForeColor = FontColor
        .BackColor = ControlBackColor
    End With
End Function

Syntax und Argumente:

sControlName = Name des Controls
FontWProp = Schriftstärke, Optional Standardwert = Normal
FontUProp = Text unterstrichen, Optional Standardwert = nicht unterstrichen
FontIProp = Text kursiv? (Optional, Standard = False)
FontColor = Textfarbe (Optional, Standard = 0 Schwarz)
ControlBackColor = Hintergrundfarbe? (Optional, Standard = 16777215 Weiß)

Aufruf im Ereignis "Bei Mausbewegung" des jeweiligen Controls: z.B.
Private Sub Text0_MouseMove(Button As Integer, Shift As Integer, _
                            X As Single, Y As Single)
    [OnMouseMove] = tk_SetFontProperty("Text0", cBold, True, False, _
                                        255, 65535)
End Sub

würde das Textfeld "Text0", beim überfahren mit der Maus Fett, Unterstrichen, nicht kursiv, Textfarbe Rot und Feldhintergrund Gelb darstellen.

1. Zurücksetzen:

Um das Ganze beim Verlassen wieder rückgängig zu machen ist eine zweite Funktion erforderlich.
Diese wird im Ereignis "Bei Mausbewegung" des jeweiligen Formularbereiches aufgerufen.

Private Function tk_fRemoveFont(Optional FontWProp As Long = cNormal, _
                                Optional FontUProp As Boolean = False, _
                                Optional FontIProp As Boolean = False, _
                                Optional FontColor As Long = 0, _
                                Optional ControlBackColor As Long = 16777215)
'*******************************************
'Name:      tk_fRemoveFont(Function)
'Purpose:   Setzt die Änderungen die Eigenschaften des Controls beim überfahren
'           mit der Mouse zurück
'Author:    Thomas Keßler
'Date:      April 28, 2004, 13:00:00
'Inputs:    FontWProp = Schriftstärke (Optional, Standard=Normal)
'           FontUProp = Text unterstrichen? (Optional, Standard = False)
'           FontIProp = Text kursiv? (Optional, Standard = False)
'           FontColor = Textfarbe (Optional, Standard = 0 Schwarz)
'           ControlBackColor = Hintergrundfarbe?
'           (Optional, Standard = 16777215 Weiß)
'Output:
'Example:   tk_fRemoveFont()
'           Würde das aktuelle Textfeld nach Verlassen der Mouse wieder auf
'           Schriftstärke Normal
'           unterstrichen=Nein, kursiv=Nein, Textfarbe Schwarz und Hintergrundfarbe
'           Weiß zurücksetzen
'*******************************************
    On Error Resume Next
    With Me(mstPrevControl)
        .FontWeight = FontWProp
        .ForeColor = FontColor
        .FontItalic = FontIProp
        .FontUnderline = FontUProp
        .BackColor = ControlBackColor
    End With
End Function

Der Syntax und die Argumente sind denen der ersten Funktion ähnlich:

FontWProp = Schriftstärke, Optional Standardwert = Normal
FontUProp = Text unterstrichen, Optional Standardwert = nicht unterstrichen
FontIProp = Text kursiv? (Optional, Standard = False)
FontColor = Textfarbe (Optional, Standard = 0 Schwarz)
ControlBackColor = Hintergrundfarbe? (Optional, Standard = 16777215 Weiß)

Da alle Werte optional sind ist in der Regel keine Angabe erforderlich

Aufruf z.B.: im Detailbereich des Forms:

PPrivate Sub Detailbereich_MouseMove(Button As Integer, Shift As Integer, _
                                    X As Single, Y As Single)
    [OnMouseMove] = tk_fRemoveFont()
End Sub

Würde die Werte wieder auf die Standardwerte zurücksetzen.

Dateien:

Für 32Bit und 64Bit Office Versionen

Aktuelles Formularfeld bei "MouseMove" -Ereignis, mit variabelen Format hervorheben

ab A97

Die Zip-Datei enthält ein Version für A97 und eine ab A00

Datum 05.02.2018
Dateigröße 51.66 KB
Download 3.623

 

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Nur für 32Bit Office Versionen Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool...
1.png5.png8.png5.png4.png2.png5.png
Heute170
Gestern496
Diese Woche1583
Dieser Monat5299
Total1585425

  • IP: 18.226.251.22
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

3
Online

19. April 2024

Letzte Kommentare

  • Berechnen von Zeiträumen als Abfragekriterium

    elmard 02.02.2021 21:02
    1000 Dank
    für diese Datenbankanwendung! Eine sehr gute Umsetzung mit den vielen Möglichkeiten des Datums.

    Weiterlesen...

     
  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...