Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Hiirikomennot (VB.NET)

Sivun loppuun

Short Php [04.04.2008 19:34:50]

#

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ä)

Antti Laaksonen [04.04.2008 20:06:01]

#

Siis haluatko tunnistaa, kun käyttäjä napsauttaa tai siirtää hiirtä, vai haluatko jäljitellä ohjelmalla hiiren napsautusta tai siirtoa?

Short Php [05.04.2008 08:37:18]

#

Jäljitellä

Short Php [12.04.2008 12:25:57]

#

Vieläkin haluaisin vastausta tähän..

Blaze [12.04.2008 12:30:43]

#

Kai 2008:llakin WinApiin pääsee käsiksi, sovella: http://pp.kpnet.fi/blaze/codefaq/#simulatemouse

Short Php [13.04.2008 10:00:36]

#

Toimii suoraan muuten, paitsi tuo setcursorpos liikuttaa vain x- akselia pitkin. Eli esim setCursorPos(50, 50) liikuttaa hiiren 50 x mutta 0 y

Antti Laaksonen [13.04.2008 11:57:02]

#

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.

neau33 [14.04.2008 10:17:56]

#

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

neau33 [14.04.2008 12:07:34]

#

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

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta