Elikkä olen käyttänyt tätä koodivinkkiä hyväkseni. Ongelma on sellainen että käsittääkseni kun hiiri tekee jotakin iconin päällä iconi kutsuu
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) End Sub
subia antaen tapahtumatiedon X parametriin.
Mutta kun hiirtä liikuttaa formilla siihen kohtaa (esim.515)
joka vastaa jotain tapahtumakoodia koodi suoritetaan.
Noh, jospa soodi kertoisi enemmän kuin monta sanaa...
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
x = x / Screen.TwipsPerPixelX
Select Case x
Case WM_LBUTTONDBLCLK
Me.Show
Case WM_RBUTTONDOWN
'Esim kun formilla liikutaan kohdan 516 päälle/ohi
'ohjelma päättä että nyt on näytettävä PopupMenu!
PopupMenu mSystrayMenu
End Select
End SubEli jos tule mitään yksinkertaista tapaa mieleen tunnistaa toi niin olkaa hyvä vain.
Edit:Tyypillistä, idea tulee vasta kun on viestin lähettänyt...
Eli hokasin että y on sitten varmaan aina nolla joten
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If y = 0 Then
x = x / Screen.TwipsPerPixelX
Select Case x
Case WM_LBUTTONDBLCLK
Me.Show
Case WM_RBUTTONDOWN
'Esim kun formilla liikutaan kohdan 516 päälle/ohi
'ohjelma päättä että nyt on näytettävä PopupMenu!
PopupMenu mSystrayMenu
End Select
End If
End SubJa tämä varmaan riittää tarkistukseksi, olisi kai aika epätodennäköistä että sattuisi osumaan tuohon kohtaan. Mutta jos jotain parempaa tulee mieleen niin antaa tulla
Voit myös linkittää näkymättömään pictureboksiin. Taikka tehdä tarvittavan ikkunan API:lla. Tähän löytyy esimerkkikoodi, tosin tällä hetkellä paikka josta sen saa näyttäisi olevan alhaalla, joten en voi tarjota linkkiä.
Kiitoksi, täytyy tesmata.
Seuraava pulmani ei varsinaisesti liity tuohon mutta liittyy kummiskin. Eli kun ylhäällä olevalla tavalla näytän PopUp menun niin kun ei ole muita ohjelmia auki tahi on ihan vaan työpöydällä ja ton menun avaa niin sitä ei saa pois muuta kuin klikkaamalla menua. Muut ohjelmien menut kyllä tajuaa lähtä kun klikkaa työpöytää mut tää vaan jää möllöttään. Vinkkejä?
Tässäpä se koodi: http://www.vbforums.com/showthread.php?s=
Mahdollistaa myös animoinnin. En tiedä onko siitä korjattu tuota valikkojuttua, mutta kokeilemallahan se selviää :)
Juu, tossa valikko toimii niinku pitääkin. Eiköhän tosta ratkasu löydy, kiitoksia taas Merri
Edit: En ehtinyt tutkia tuota koodia kun innostuin tutkimaan foorumia samaisen linkin takana. Sieltä sitten löytyi kuin löytyikin vastaus kun jollakulla oli ollut sama ongelma.
Tässä soodi jolla sain tomiin
Private Declare Function SetForegroundWindow Lib "user32.dll" (ByVal hwnd As Long) As Long
Private Sub pIconi_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
SetForegroundWindow Me.hwnd 'Tarvii vain tätä kutsua ja valikko toimii astetta paremmin
X = X / Screen.TwipsPerPixelX
Select Case X
Case WM_LBUTTONDBLCLK
Me.Show
Case WM_RBUTTONDOWN
PopupMenu mSystrayMenu
End Select
End SubJoten, kiitoksia taas Merri:) Enpä varmaan olisi tuonne eksyny ilman linkkiäs
Aihe on jo aika vanha, joten et voi enää vastata siihen.