vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Problem mit MouseMove 
Autor: FANMaster
Datum: 19.11.03 07:31

Hallo Exp-Soft ,

FANMaster hätte da eine passende Lösung die dein Problem beheben könnte. Schau dir mal diesen VBCode hier an.

Benötigte Elemente:
- 1 Label ( lblBeenden )
- 1 Timer ( tmrHoverEffekt ; tmrHoverEffekt.Interval=50 )

In den Deklarationsabschnitt einfügen:
******************************************

'=== HoverEffekt deklarieren ===
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long

Private Type POINTAPI
X As Long
Y As Long
End Type

Dim P1 As POINTAPI
Dim P2 As POINTAPI


In die Form_Load-Eigenschaft einfügen:
********************************************
'=== Schrift grösser und fett zeigen ===
lblBeenden.Height = lblBeenden.FontSize * 15 + 90


In die MouseMove-Eigenschaft (lblBeenden) einfügen:
***********************************************************
'=== HoverEffekt ===
With lblBeenden
.FontBold = True
.ForeColor= &HC0&

If tmrHoverEffekt.Enabled = False Then
P1.x = ScaleX(.Left, ScaleMode, vbPixels)
P1.y = ScaleY(.Top, ScaleMode, vbPixels)
Result = ClientToScreen(hwnd, P1)
P2.x = ScaleX(.Left + .Width, ScaleMode, vbPixels)
P2.y = ScaleY(.Top + .Height, ScaleMode, vbPixels)
Result = ClientToScreen(hwnd, P2)
tmrHoverEffekt.Enabled = True
End If
End With


In den Timer (tmrHoverEffekt) einfügen:
*******************************************

Private Sub tmrHoverEffekt_Timer()
Dim Result&, CurPos As POINTAPI

Result = GetCursorPos(CurPos)

If CurPos.X < P1.X Or CurPos.X > P2.X Or _
CurPos.Y < P1.Y Or CurPos.Y > P2.Y Then
'=== Zeitgeber deaktivieren ===
tmrHoverEffekt.Enabled = False

'=== Text wieder normal zeigen (keine Fett-Schrift) ===
lblBeenden.ForeColor= &H0&
lblBeenden.FontBold = False
End If
End Sub

Hoffe ich konnte dir mit diesem Beispiel weiterhelfen.

Man kann ein Problem nicht mit derselben Denkweise lösen, die es erschaffen hat.

FANMaster
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit MouseMove579Exp-Soft19.11.03 01:51
Re: Problem mit MouseMove352ModeratorDieter19.11.03 01:55
Re: Problem mit MouseMove327Exp-Soft19.11.03 03:05
Re: Problem mit MouseMove491FANMaster19.11.03 07:31

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel