TKSoft-Online

Aktuelles Formularfeld bei "MouseMove"-Ereignis hervorheben PDF Drucken E-Mail
( 3 Votes )
MS-Access Bsp. DB's - Bsp. Downloads Formulare
  
Sonntag, den 06. Januar 2008 um 01:00 Uhr

Problemstellung:

Wie kann bei Mausbewegung das aktive Control hervor heben?

Voraussetzungen:

Das Bsp ist unter A97,A00, AXP, A03 lauffähig, unter A07 wurde es nicht getestet.

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, TrueFalse, _
                                        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:

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

 

 

Aktuelles Formularfeld bei MouseMove-Ereignis, mit variabelen Format hervorheben

Aktuelles Formularfeld bei "MouseMove"-Ereignis, mit variabelen Format hervorheben
für A97-A03 , A07 nicht getestet

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



Erstellt am
Dateigröße
Downloads
04.01.2008
51.66 KB
2839


Downloads in dieser Kategorie

MS-Access Formulare

MS-Access Formulare

 Seite: 1

 Seite: 2


DatumKlicks
Total3298
Do. 242
Mi. 232
Di. 224
So. 203
Sa. 192
Fr. 182
Do. 171
Aktualisiert ( Mittwoch, den 19. Oktober 2011 um 12:46 Uhr )
 

Kommentar schreiben


Sicherheitscode
Aktualisieren

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173483 Downloads