Forum » Programiranje » Akcije nad grafiko v VB
Akcije nad grafiko v VB
damijani ::
Bok,
na žalost moram nekaj grafičnega sprogramirat v Visual basic. Pa se mi je pojavil problem kako bi izvedel.
naprimer:
da bi s klikom nad narisanim pravokotnikom se izvedla neka akcija (pravokotnik spremenil barvo)
LP
na žalost moram nekaj grafičnega sprogramirat v Visual basic. Pa se mi je pojavil problem kako bi izvedel.
naprimer:
da bi s klikom nad narisanim pravokotnikom se izvedla neka akcija (pravokotnik spremenil barvo)
LP
darkolord ::
Nekako takole
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Y < Shape1.Top Then Shape1.FillStyle = 0 Shape1.FillColor = vbRed End If End Sub
damijani ::
na žalost mi nasvet ni pomagal, vseeno hvala.
da bol podrobno razložim mojo situacijo:
imam object pravokotnik, kateri ima vrednosti pravokotnilka in ga tudi izriše.
v njemu deklariram dogodek
Public Event click(ByVal a As System.Windows.Forms.MouseButtons)
in tudi proceduro
Public Sub mouseClick(ByVal s As System.Windows.Forms.MouseButtons)
RaiseEvent click(s)
End Sub
v glavnem razredu ga dodam
AddHandler obj.click, AddressOf obj_click
in ga kasneje kličem ob kliku
Private Sub obj_click(ByVal a As System.Windows.Forms.MouseButtons) Handles obj.click
MessageBox.Show("obj_click")
End Sub
napovem tudi izvor dogodka
Friend WithEvents obj As WindowsApplication5.pravok
sledeča koda mi ob različnih poskusih nič na izvede, mi pa izvede klike na button in label.
LP
da bol podrobno razložim mojo situacijo:
imam object pravokotnik, kateri ima vrednosti pravokotnilka in ga tudi izriše.
v njemu deklariram dogodek
Public Event click(ByVal a As System.Windows.Forms.MouseButtons)
in tudi proceduro
Public Sub mouseClick(ByVal s As System.Windows.Forms.MouseButtons)
RaiseEvent click(s)
End Sub
v glavnem razredu ga dodam
AddHandler obj.click, AddressOf obj_click
in ga kasneje kličem ob kliku
Private Sub obj_click(ByVal a As System.Windows.Forms.MouseButtons) Handles obj.click
MessageBox.Show("obj_click")
End Sub
napovem tudi izvor dogodka
Friend WithEvents obj As WindowsApplication5.pravok
sledeča koda mi ob različnih poskusih nič na izvede, mi pa izvede klike na button in label.
LP
darkolord ::
Aha, Visual Basic .NET torej...
Kakšne vrste objekt pa je tole? Kje pa dejansko loviš klike miške?
Kakšne vrste objekt pa je tole? Kje pa dejansko loviš klike miške?
damijani ::
Objekt vsebuje podatke o pravokotniku in metode za izris le tega.
V končnem pogledu bi izgledal kot nekakšen gumb z nekaj drugimi lastnostmi.
Ob kliku na ta pravokotnik, pa bi se mi mogla izvedit neka akcija.
V končnem pogledu bi izgledal kot nekakšen gumb z nekaj drugimi lastnostmi.
Ob kliku na ta pravokotnik, pa bi se mi mogla izvedit neka akcija.
neoto ::
Kakor je že prej darkolord predlagal, v MouseDown/Move/Up rutini objekta, na katerem je tvoj objekt izrisan (Form, PictureBox, ...) preveri, če je x in y koordinata miške znotraj tvojega pravokotnika ter nato kliči proceduro v tvojem objektu.
Lahko pa narediš tako, da v tvojem objektu loviš vse dogodke preko sistemskih klicev ter nato preverjaš.
Lahko pa narediš tako, da v tvojem objektu loviš vse dogodke preko sistemskih klicev ter nato preverjaš.
darkolord ::
Če ta lik narišeš "na roko", potem ne prejema nobenih povratnih informacij o miški... Če ga rišeš na formo, lahko uporabiš MouseClick metodo od forme in preveriš, če sta koordinati znotraj tvojega lika.
user4683 ::
Če bi rad, da je to gumb, ki malce drugače izgleda, bi bilo morda dobro ta tvoj razred kar izpeljati iz razreda Button in povoziti OnPaint metodo. Če to seveda pride v poštev (ne vem točno kakšna je celotna situacija).
Zgodovina sprememb…
- spremenil: user4683 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Visual BasicOddelek: Programiranje | 3431 (2457) | cekr |
» | Odpiranje programa v Visual StudioOddelek: Programiranje | 911 (769) | darkolord |
» | vb.net: dynamic textboxOddelek: Programiranje | 1180 (1070) | saule |
» | [VB][.NET] pretvorba niza v številoOddelek: Programiranje | 1151 (999) | Bela01 |
» | VB.net MDI in formi splošnoOddelek: Programiranje | 1612 (1555) | strel |