|
|
Mivel VB 5-6 ezért több nem dobott több használható találatot a kereső.
|
|
|
Ez igen jó, mert bár itt az AllApi-n csak a bal, jobb, középső gomb + görgő van leírva, később kiegészítették ezt az api-t [url=http://msdn.microsoft.com/en-us/library/ms646260(v=vs.85).aspx]xbutton1, xbutton2-vel[/url] is, ami a böngészőkben használatos előre hátra gyorsgombjai az egéren, de van még két másik gombom amikre szinte biztos hogy nincs api, bár az egyik egy duplakattintást imitál szóval az is megcsíphető, de van egy gyorsmenü gomb amit szeretnék saját menüvel felváltani, valószínűleg az egér saját driverén kersztül kell megoldani, ezt akarom megkerülni bár eléggé veszett ügynek látszik, vagy legalábbis nem éri meg a fáradságot.
|
|
|
|
Van egy "sok" gombos egerem, van szerintetek valami mód arra hogy közvetlen a gomb állapotát lekérdezzem, tehát nem úgy hogy a driver leszimulál pl F11 lenyomást és az alapján hanem valami univerzálisabb lekérdezést.
szerk:
Kód: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.Print Button
End Sub
Ez csak a három klasszikus gombot mutatja.
Szerk2:
Sikerült lekérdezni a gombok számát, ezzel sem vagyok sokkal beljebb.
Kód: Private Const SM_CMOUSEBUTTONS As Long = 43
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Private Sub Command1_Click()
Label1.Caption = GetSystemMetrics(SM_CMOUSEBUTTONS)
End Sub
Szerk3:
Hát... végül sikerült az előre/hátra szörcs gombokat életre bírni, kicsit nyakatekert és még dll-t is hurcolni kéne hozzá.
http://www.vbaccelerator.com/home/vb/Tips/Detecting_Mouse_XButton_Clicks/article.asp
Szóval ez még nem az igazi és az egér saját menügombja még mindig csak a driveren keresztül működik... szóval várom ha van valakinek ötlete.
Ezt a hozzászólást Bacce módosította (2011.01.16 22:58 GMT+1 óra, ---)
|
|
|
Van arra valami függvény hogy nullánál kisebb számokat nullára konvertálja? Vagy meg kell írni azt a fél sornyi kódot?
Szerk: Megoldódott, újraírtam és sikerült bele erőltetni egy ciklusba szóval nem kellett minden sort külön 0ra kerekíteni. 
Szerk2: Persze érdekel ha valaki tud ilyenről.
Ezt a hozzászólást Bacce módosította (2010.09.29 20:50 GMT+1 óra, ---)
|
|
|
Itt van a bal kézzel jobb fület vakarós megoldás. VB6-ban,
Kód: Dim Stra As String
For a = 1 To 2
Stra = "Command" & a
Me.Controls(Stra).Caption = "valami"
Next a
de inkább használd a gombok index-ét erre és akkor tömbként boldogság van, ahogy bmateusz leírta.
Ahogy elnézem ez VB.net aminek van saját fóruma, a folytatást oda...
|
|
|
VB-ben nem tudom hogy van, de egy generikus List<Button>-ba kellene tenni a gombokat és akkor tényleg lehet tömb-szerűen hivatkozni az elemekre. Lehet reflectionnal is név + indexre visszainstancolni, de az már fából vaskarika lenne.
|
|
|
Akkor megvan a gond.
Button1 és Button(1) között van különbség. A második egy tömb, és az Index tulajdonság utal rá.
A formra felraksz egy buttont, átnevezed Button-ra (Name tulajdonság), majd az indexébe beírod, hogy 1. Utána ezt másolod, és az Index tulajdnoságot mindenhol átírod.
Már kb 2-3 éve nem VB-ztem, ha nem így van bocsi.
|
|
|
A gond a Button(i)-nél van van 9 button amiknek a neve ez:
Button1
Button2
Button3
Button4
Button5
Button6
Button7
Button8
Button9
Random generálok egy számot 1 és 9 közt, majd a kapott számot visszaírnám. pl i=5
akkor Button(i) legyen a kódban és azt értelmezze Button5-nek.
|
|
|
Nem, vagyok egy nagy VB guru, de ez valami rekurzív hívás, vagy mi ez?
Kód: Public Function Rand(ByVal Low As Long, _
ByVal High As Long) As Long
Rand = Int((High - Low + 1) * Rnd()) + Low
End Function
Nem így kellene?
Kód: Public Function Rand(ByVal Low As Long, _
ByVal High As Long) As Long
return long((High - Low + 1) * Rnd()) + Low
End Function
|
|
|
Legújabb project:
Smashed Potatoes
Legutóbb frissített project:
Treasure Measure
Friss kép a galériából:
|