PDA-applikationer med .NET: Lektion 7

Idag: Inmatning med pekskärmar, möss och tangentbord

Klicka på startknappen i den lilla mediaspelaren ovan för att lyssna på lektionen. (Man kan behöva vänta en stund på att ljudfilen laddas ner.) Om mediaspelaren inte syns, eller om det inte fungerar av något annat skäl, kan man klicka här för att ladda ner mp3-filen (ca 17 minuter, ca 8 megabyte). Beroende på hur webbläsaren är konfigurerad kan det kräva ett separat mp3-spelarprogram av något slag.

Tänk på att lektionerna ger en översikt och introduktion. Du måste läsa i kursboken och (viktigast!) arbeta med övningarna för att tillgodogöra dig kursen.

"Bild" 1: Olika former av inmatning

  • Riktigt tangentbord
    • Vanlig PC med Windows
    • Vissa Windows CE
    • Inte Pocket PC...
    • ...men det finns lösa tangentbord till Pocket PC!
  • SIP (Software Innput Panel) på Pocket PC
  • "Device-knappar"
  • Telefontangentbord på telefoner
  • Mus (inklusive pekplatta som på en laptop, styrspak eller liknande)
  • Pekpenna

Bild 2: Cistern-programmet i emulatorn

Emulatorn

Bild 3: SIP (Software Input Panel) i emulatorn

Emulatorn

Bild 4: SIP-tangentbordet i emulatorn

Emulatorn

Bild 5: Letter recognizer i emulatorn

Emulatorn

Bild 6: Block recognizer i emulatorn

Emulatorn

Bild 7: SIP (Software Input Panel) på en riktig handdator

En riktig handdator

Bild 8: SIP-tangentbordet på en riktig handdator

En riktig handdator

Bild 9: Block recognizer på en riktig handdator

En riktig handdator

Bild 10: Transcriber på en riktig handdator

En riktig handdator

Bild 11: Transcriber på en riktig handdator

En riktig handdator

Bild 12: Mushändelser i emulatorn

Emulatorn

Bild 13: Mushändelser på en riktig handdator

En riktig handdator

Bild 14: Mushändelser?

  • Krångligt
  • Mycket kod att skriva
  • Använd hellre färdiga kontroller: Button, ListBox, ...
  • Men kan behövas om man ska bygga egna kontroller, eller rita.

Bild 15: Tangentbordshändelser?

  • Krångligt
  • Mycket kod att skriva
  • Använd hellre färdiga kontroller: TextBox, ...
  • Men kan behövas om man ska bygga egna kontroller. (Snabbkommandon?)

Läsanvisningar

Den här lektionen motsvaras av kapitel 6, Mouse and Keyboard Input, i kursboken.

Kapitlet innehåller många detaljer om hur man hanterar inmatning i sina program, men det är inte meningen att vi ska lära oss allt det utan bara förstå vilka typer av inmatning som finns, och hur de fungerar. (Vi använder hellre de färdiga kontrollerna, till exempel Button och TextBox, än rå tangent- och musinmatning.) Vi bör också komma ihåg att om man bara kör emulatorn så kan man få en missvisande bild av hur det är att använda en riktigt Pocket PC-handdator.

För den som vill ha mer detaljerade anvisningar om vad man bör läsa:

Avsnittet Programming for Mouse Input (s 325-345) kan vara både intressant och bra att kunna, men ingår inte i den här kursen.

I avsnittet Programming for Keyboard Input ingår inte The Win32 keybd_event Function och framåt (s 349-380).

Följande delar bör man dock läsa:

  • Rutan Device Buttons in the Pocket PC 2002 and Pocket PC 2003 Emulators på s 357
  • Rutan The Unicode Character Set på s 359-360
  • Avsnittet A Sample Program: KeyInput på s 360-361

Här är några frågor som kan användas som instuderingsfrågor:

  1. Vad är SIP på Pocket PC?
  2. SIP har åtminstone tre olika funktioner. Vilka?
  3. Vad innebär det att en kontroll är aktiverad (engelska: enabled)?
  4. På sidan 314 rekommenderar boken att man inte ska hantera mus- och tangentbordsinmatning. Vad menar de med det?
  5. Vilka olika betydelser kan ordet cursor (på svenska ofta översatt med markör) ha?
  6. Vad betyder cursor i Windows-terminologi?
  7. Vad betyder caret i Windows-terminologi?
  8. Finns det några bra svenska ord för Windows-terminologins cursor och caret?
  9. Pocket PC-handdatorer visar normalt inte någon muspekare. Varför inte?
  10. Vad är Unicode?
Om du vill skriva svar på instuderingsfrågorna, räcker det för de flesta frågorna med en eller några få meningar.

Programmeringsövningar

  1. Gör en applikation med en textruta (dvs dra kontrollen TextBox till formuläret). Provkör applikationen i emulatorn, och testa att skriva i textrutan
  2. Om du har en riktig handdator med Pocket PC, så prova applikationen på den också. Hur roligt skulle det vara att skriva längre texter på det här sättet?
  3. Ladda ner applikationen DrawRectangles och provkör den i emulatorn, som ett exempel på en tillämpning där det inte räcker med färdiga kontroller utan där man behöver hantera mushändelser.

Föregående lektion | Lektionslista | Nästa lektion


Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se), 25 oktober 2005