ďťż

94453_1

Lemur zaprasza

Strona: [  >  ]  z  1     










Autor
Temat: Label +Kursor











DJK






Typ:
neutral

Postów: 871

Zarejestrowany: Feb 2004





Label +Kursor


Witam

Jak sprawdzić, że kursor znajduje się nad labelem lub się nad nim nie znajduje ?



_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie






30-03-2005 12:32



 
    














Tamgo







Typ:
neutral

Postów: 129

Zarejestrowany: Aug 2004







Powiem nieśmiało, bo nie wiem na ile się tobie to przyda i czy moja podpowiedź jest trafna. W każdym razie w tym przykładzie wykorzystano API do wykrywania myszy nad obiektem (tu przycisk), czasu jej obecności, czy została poruszona i pozycji kursora. Rzecz dotyczy co prawda troszkę innego problemu (pokazania info o obiekcie w labelu) ale.... może coś z tego jednak wykorzystasz. W każdym razie chciałem pomóc.
przykład ściągnięty ze stronki: ;    
Użyj zdarzenia MouseMove przycisku do pokazania informacji. Zastosuj Timera i funkcję - API GetCursorPos, aby wykrywać oddalanie się kursora myszy od obiektu.

Private Sub Command1_MouseMove(Button As Integer, Shift As _
    Integer, X As Single, Y As Single)
    DisplayButtonMessage Command1, "Command 1"
End Sub

' Jeśli nie pokazujemy wiadomości, to
' umożliwi nam jej pokazanie stoper,
' który wykrywa kiedy mysza przestaje się poruszać.
Private Sub DisplayButtonMessage(ByVal cmd As _
    CommandButton, ByVal txt As String)
    ' Sprawdzaj, czy już pokazujemy wiadomość.
    If Timer1.Enabled Then Exit Sub

    ' Oblicza dla przycisku współrzędne ekranu.
    upper_left.X = ScaleX(cmd.Left, ScaleMode, vbPixels)
    upper_left.Y = ScaleY(cmd.Top, ScaleMode, vbPixels)
    ClientToScreen hwnd, upper_left
    lower_right.X = ScaleX(cmd.Left + cmd.Width, ScaleMode, _
        vbPixels)
    lower_right.Y = ScaleY(cmd.Top + cmd.Height, ScaleMode, _
        vbPixels)
    ClientToScreen hwnd, lower_right

    ' Pokaż wiadomość i uruchom Timer.
    lblStatus.Caption = txt
    Timer1.Enabled = True
End Sub

' Sprawdzaj, czy kursor porusza się.
Private Sub Timer1_Timer()
Dim pt As POINTAPI

    ' Odczytaj pozycję kursora
    GetCursorPos pt

    ' Sprawdzaj, czy mysz jest nad przyciskiem.
    If pt.X < upper_left.X Or pt.X > lower_right.X Or _
      pt.Y < upper_left.Y Or pt.Y > lower_right.Y _
    Then
        ' Jak długo jest ponad przyciskiem.
        Timer1.Enabled = False
        lblStatus.Caption = ""
    End If
End Sub


[Post edytowany dnia 31-03-2005 00:06 przez Tamgo]






30-03-2005 23:58



 
      

4484571













Wszystkich odpowiedzi: 1 :: Maxymalnie na stronę: 20










Strona: [  >  ]  z  1     
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • teen-mushing.xlx.pl
  • Wątki
    Powered by wordpress | Theme: simpletex | © Lemur zaprasza