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

Problemstellung:
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:

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.250

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png8.png4.png0.png0.png
Heute71
Gestern75
Diese Woche392
Dieser Monat2054
Total1198400

  • IP: 54.81.102.236
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

19. Juli 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...