Gå til innhold

Knapper ødelegger for Form KeyDown


Anbefalte innlegg

Skrevet

Har et skjema med noen knapper på, men ønsker å registrere tastetrykk for en annen feature i programmet. Men, hvis knappene er enabled så vil de være i fokus og trykking på piltastene f. eks bare flytter fokuset istedenfor å sende kommandoen "Pil ned" til programmet mitt så jeg kan flytte på objekter. Noen som vet om en eller annen liten innstilling eller noe i VB 6.0 som kan løse dette?

Videoannonse
Annonse
Skrevet
Form.KeyPreview = True

 

tror jeg skulle hjelpe, men det kan godt hende fokusen fortsatt endrer seg, men du kan vel kanskje skru av TabStop på knappene.

Hadde tenkt å foreslå tabstop jeg også, men prøvde det først og fant ut at det bare hindrer tab i å sette fokus på knappen. Piltastene vil fortsatt endre fokus.

Skrevet

Key=0 på en KeyPress ser heller ikke ut til å virke, og da er jeg tom for ideer. Man kunne jo evt ha laget en egen kontrol hvis den featuren er viktig.

Skrevet
tror jeg skulle hjelpe, men det kan godt hende fokusen fortsatt endrer seg, men du kan vel kanskje skru av TabStop på knappene.

Har ikke testet det du først foreslo, men det med tabstop funker ikke.

 

Og featuren er såpass viktig at jeg blir nødt til å fjerne knappene da ja :/

Skrevet (endret)

Me.KeyPreview = True

Slik, Geir? Piltastene kan fortsatt brukes til å skifte fokus.

 

Edit: TabStop på knappene hjalp heller ikke.

Endret av Jonas
Skrevet

Prøvde meg med en Form1.SetFocus under Form Load, men da fikk jeg en feilmelding. Hvordan var det du tenkte jeg skulle bruke den da?

Skrevet

Ja, jeg ser feilmeldinga nå. Hva du skulle bruke det til har jeg ingen peiling på.

 

Litt vannskelig å hjelpe uten å vite hva denne featuren er. Legg ut koden, så er det litt lettere.

Skrevet

Spiller jo ingen rolle hva featuren er vel? Men - som jeg har nevnt tidligere prøver jeg meg selv på en kopi av det SUN-spillet som har blitt "gitt ut" her i VB-forumet. En skal da helst kunne trykke på piltastene for å kunne bevege seg. I tillegg vil jeg ha noen knapper en kan trykke på.

Skrevet (endret)

Uten å starte en stor diskusjon - Ja. Hvertfall spiller det en rolle for meg.

 

Uten å ha sett på koden til zypher_ut sitt spill, tror jeg at spillet får tastetrykk fra en KeyDown, pluss at han har knapper i spillet. Du kunne jo ha PMet han, og spurt hvordan han har løst det.

 

Ellers finnes det andre måter å løse det på. F eks ved å lage en spill-loop, og sjekke tastetrykk med GetAsyncKeyState.

Endret av Jonas
Skrevet

Kan du heller benytte deg av en loop eller timer, og deretter sjekke de relevante tastene med GetAsyncKeyState til featuren din. Da skulle den i det minste fungere.

Skrevet

Mja, men liker ikke helt det der. Tanken er nemlig at spillet skal oppdatere seg selv og flytte på deg når du trykker ned gå-knappen, ikke vente litt først. Da er det mulig at det kødder seg litt opp dersom du trykker for raskt.

Skrevet
Mja, men liker ikke helt det der. Tanken er nemlig at spillet skal oppdatere seg selv og flytte på deg når du trykker ned gå-knappen, ikke vente litt først. Da er det mulig at det kødder seg litt opp dersom du trykker for raskt.

Jeg tviler sterkt på at dette blir en konsekvens. Hvis du bare passer deg for å kjøre oppdaterings-prosedyren etter knappen er nedtrykket, vil den, med eksempelvis en vanlig "loop", ikke gå over til en ny bevegelse. årsaken er at et en vanlig form kun inneholder en tråd (thread), og derfor vil all kode kjøres sekvensvist.

Skrevet

Uhm, nå skjønte jeg ikke helt hva du sa. Jeg greier jo nemlig ikke å kjøre noe som helst "etter at en knapp har blitt trykket ned", fordi den ikke registrerer at jeg trykker ned noen knapp. :/

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...