[vb] navigeren in 2 dimensionaal button array

Pagina: 1
Acties:

  • brokenp
  • Registratie: December 2001
  • Laatst online: 17:16
ik ben een app aan het maken waarin ik de focus moet navigeren in een 2dimensionaal button array.
Ik heb nu zon'n array, maar als ik pijl-omhoog toets dan gaatde focus 1button naar links in plaats van naar boven.
Ik kan dit wel oplossen door alle keyevents af te vangen, maar het lijkt me toch dat hier een soort van standaard oplossing voor is

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Ik snap hem niet helemaal eigenlijk. Maar bedoel je niet gewoon tabstops?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:27

mulder

ik spuug op het trottoir

Bedoel
je
die property Tabstop... ?

oogjes open, snaveltjes dicht


  • brokenp
  • Registratie: December 2001
  • Laatst online: 17:16
Nee, ik bedoel geen tabstop, stel ik heb een array van 3 x 3 buttons,
genummerd met 1 tm 9

1 2 3
4 5 6
7 8 9

Als bijv button 5 actief is, en ik op tab duw, springt hij naar 6.
Als button 5 actief is, en ik duw op pijltje rechts, dan springt hij naar 6
Als button 5 actief is en ik duw op pijltje beneden, dan springt hij naar 6, maar dat wil ik niet, bij een pijltje naar beneden, had hij naar 8 moeten springen

IK hoop dat het zo duidelijker is

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Mmm wel duidelijker iig, maar ik denk dat je toch echt je keyevents moet gaan afvangen en het op die manier moet doen. Ik weet iig niet zo 123 een andere oplossing :/

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 22-08 19:17
uh, zet de buttons in een andere volgorde :?
/edit:

dus zo:

de(voor vb button nummers)
1 4 7
2 5 8
3 6 9

met als text dit:
1 2 3
4 5 6
7 8 9

[ Voor 56% gewijzigd door Thijsch op 03-12-2002 22:09 ]


Verwijderd

javascript, onKeyPress, button8.getFocus
de rest moet te vinden zijn op internet
anders flash

de post hiervoor werkt niet want de pijl naar rechts zou de knop onder de 5 (de 8) actief maken.

[ Voor 35% gewijzigd door Verwijderd op 03-12-2002 22:12 ]


  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 31-03 16:47

CyberSnooP

^^^^ schrijft --->

Een echte "standaard" oplossing is er niet, je zult toch alle keyevents moeten afvangen en zelf de focus verplaatsen. Echter, je hoeft natuurlijk niet voor elke knop dat te hardcoden.

Ik neem aan dat je de knoppen runtime aanmaakt en dus een Control-array hebt. Je kunt dan aan de hand van de index en de richting (voor de pijltjes-toetsen zijn vb-constanten) en de breedte van je veld de nieuwe index bepalen.

Er is niet echt een standaard oplossing voor omdat de focus nu eenmaal zo verschuift volgens de windows regels :)
Verwijderd schreef op 03 December 2002 @ 22:11:
javascript, onKeyPress, button8.getFocus [knip] anders flash
Let op de tag vooraan de topictitel. Daarin wordt duidelijk dat hij Visual Basic gebruikt en dus weinig aan javascript heeft. Bovendien was het setFocus geweest :)

[ Voor 25% gewijzigd door CyberSnooP op 03-12-2002 22:29 ]

|_____vakje______|


  • brokenp
  • Registratie: December 2001
  • Laatst online: 17:16
Ik kom alleen één probleem tegen
msdn :
"Arrow keys. Note that some controls (command buttons, option buttons, and check boxes) do not receive arrow-key events: Instead, arrow keys cause movement to another control."

Weet iemand hoe ik hieromheen kan werken?

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 12:16

Crazy D

I think we should take a look.

Probeer de form_keydown (keypreview property op true zetten)

Exact expert nodig?


  • brokenp
  • Registratie: December 2001
  • Laatst online: 17:16
werkt ook niet :'(

Iemand??

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 12:16

Crazy D

I think we should take a look.

Subclassje opzetten en de wm_keydown (oid) afvangen? Misschien ontvangt VB de keydown wel maar hebben hun besloten dat pijltje ook tab is?
En anders zou je ook nog wat met een keyboard hook kunnen gaan spelen maar das denk ik wel een beetje een overkill voor een stukje functionaliteit die me nou niet echt cruciaal lijkt.

Exact expert nodig?

Pagina: 1