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 Class
Aihe on jo aika vanha, joten et voi enää vastata siihen.