Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


OnMouseOver

Postades av 2004-04-21 01:00:54 - Stefan Bergh, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 709 personer

Hej!

Har testat och försökt och sökt med ljus och lykta men får inte fram något bra.

Det jag vill åstakomma är helt eneklt att när man för musen över en PictureBox så ska bakgrundsfärgen ändras och när musen försvinner från den så ska färgen ändras tillbaks.

Låter ju enkelt men verkar inte vara lika enkelt i praktiken, jag får iallafall inte till det så jag hoppas att någon kanske har en bra lösning? Om det finns nått bra sätt förstårs, annars får jag hitta på nått annat :)

Tack på förhand!


Svara

Sv: OnMouseOver

Postades av 2004-04-21 01:30:31 - Christer Svanberg

Hej!

Detta funkar för mej, i a f:

<code>

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.BackColor = &H00FFFFFF&
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Picture1.BackColor = &H0&
End Sub

</code>

Lägg en PictureBox (Picture1) på Formen.

Kopiera & Klistra in koden i Code-fönstret.

Tryck F5 (Start) -> Voila! :-)

ChristerGbg


Svara

Sv: OnMouseOver

Postades av 2004-04-21 01:54:45 - Stefan Bergh

Jo, för mig också men har man så måste man ha koden man har i From_MouseMove i alla objekt som finns runt om pictureboxen. Men jag kör på det så länge.


Svara

Sv: OnMouseOver

Postades av 2004-04-21 02:03:18 - Christer Svanberg

Det räcker väl att du har minst en pixel-bred ram av Formen runt PictureBoxen,
så hinner SubRutinen Form_MouseMove utföra det den "ska"?

ChristerGbg


Svara

Sv: OnMouseOver

Postades av 2004-04-21 02:31:50 - Stefan Bergh

Nej, det har jag testat men rör man musen snabbt så missar den det.


Svara

Sv: OnMouseOver

Postades av 2004-04-21 12:44:13 - Anders Eidergard

Detta är ett fall för SubClassing....sök lite på det och se vad du hittar.

<code>
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" _
(ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function CallWindowProc Lib "user32" _
Alias "CallWindowProcA" _
(ByVal lpPrevWndFunc As Long, _
ByVal hwnd As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long

Public Sub Unhook(fhwnd As Long)

If defWindowProc Then
Call SetWindowLong(fhwnd, GWL_WNDPROC, defWindowProc)
defWindowProc = 0
End If

End Sub


Public Sub Hook(fhwnd As Long)

defWindowProc = SetWindowLong(fhwnd, _
GWL_WNDPROC, _
AddressOf WindowProc)


End Sub

'Lyssna på meddelanden från Windows
Function WindowProc(ByVal hwnd As Long, _
ByVal uMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
'Intercept windows messages here
'ex. Select Case uMsg

'process windows messages
WindowProc = CallWindowProc(defWindowProc, _
hwnd, _
uMsg, _
wParam, _
lParam)

End Function
</code>

En del info finns på - vbnet.mvps.org.

/Egget



Svara

Sv: OnMouseOver

Postades av 2004-04-22 23:03:08 - Christer Svanberg

...äsch, vad "ni" krånglar till´et... :-)

ChristerGbg


Svara

Sv: OnMouseOver

Postades av 2004-04-23 01:21:09 - Andreas Hillqvist

Har tyvärr inte VB instalerat. Så jag kan inte testa. Men jag har för mig att det skall funka med något sånt här:
<code>
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private mCaptured As Boolean

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If mCaptured Then
If (X < 0 Or X > Picture1.Width) Or (Y < 0 Or Y > Picture1.Height) Then
ReleaseCapture
mCaptured = False

''Call MouseExit
Picture1.BackColor = vbGreen
End If
Else
''Call MouseEnter
Picture1.BackColor = vbRed

SetCapture Picture1.hwnd
mCaptured = True
End If
End Sub

</code>


Svara

Sv: OnMouseOver

Postades av 2004-04-25 04:26:10 - Stefan Bergh

Andreas Hillqvist:

Det fungerar klockrent :) tack!


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 699
27 958
271 741
761
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies