Putkan vb oppaassa käsitellään vb 6:sta tjsp. mutta haluaisin tietää seuraavat komennot hiirelle (vb 2008):
Vasemman tai oikean näppäimen klikkaaminen
Hiiren liikuttaminen tiettyyn x y koordinaattiin
Hiiren pohjassa pitäminen (ei niin tärkeä)
Siis haluatko tunnistaa, kun käyttäjä napsauttaa tai siirtää hiirtä, vai haluatko jäljitellä ohjelmalla hiiren napsautusta tai siirtoa?
Jäljitellä
Vieläkin haluaisin vastausta tähän..
Kai 2008:llakin WinApiin pääsee käsiksi, sovella: http://pp.kpnet.fi/blaze/codefaq/#simulatemouse
Toimii suoraan muuten, paitsi tuo setcursorpos liikuttaa vain x- akselia pitkin. Eli esim setCursorPos(50, 50) liikuttaa hiiren 50 x mutta 0 y
Kokeile muuttaa funktion määrittelyä näin:
Private Declare Function SetCursorPos Lib "user32.dll" _ (ByVal x As Integer, ByVal y As Integer) As Integer
VB6:ssa Integer on 16-bittinen ja Long 32-bittinen, kun taas VB.NETissä Integer on 32-bittinen ja Long 64-bittinen.
Heippa taas Short Php!
.NET Framework ympäristössä, VB:llä ohjelmoitaessa, jutska menee näin!
Dim value As New Point(100,100) Cursor.Position=value value = Nothing
Heippa taas Short Php!
nyt jos haluat, että jotain tapahtuu siirrettäessä kursori jonkin kontrollin päälle
niin tässä ehkä yksinkertaisin konsti...
Imports System.Windows.Forms
Public Partial Class MainForm
Public Shared moveAction As Boolean
'...
'...
Sub Button1Click(sender As Object, e As EventArgs)
Dim pikkulisä As Integer = _
(Me.Height - Me.ClientRectangle.Height)
Dim ctlPos As New Point( _
Me.Left + Label1.Left + (Label1.Width / 2), _
Me.Top + pikkulisä + Label1.Top + (Label1.Height / 2))
moveAction = True
Cursor.Position=ctlPos
ctlPos = Nothing
End Sub
Sub Label1MouseHover(sender As Object, e As EventArgs)
If moveAction Then
MessageBox.Show("Haloo World!")
moveAction = False
End If
End Sub
End ClassAihe on jo aika vanha, joten et voi enää vastata siihen.