Win32 tehtäviä syventävät

Mureakuha

Loikkaa: valikkoon, hakuun

Sisällysluettelo

Tehtävä 1

Kirjoita ohjelma, jossa käyttäjä voi valita lottonumerot. Ohjelmassa on luetteloruutu, kymmenen staattista tekstiruutua numeroille ja kaksi kuvassa olevalle tekstille ja nappi. Luetteloruudusta voi tuplanaputtamalla valita oikeat numerot ja ne tulevat oikeassa järjestyksessä, alusta alkaen omiin lokeroihinsa. 'Reset'-nappi käynnistää ohjelman uudestaan. Se siis kirjoittaa luetteloruudun numerot uudelleen ja tyhjentää numerolaatikot.

Kuva:Win32_tehtäviä_syventävät1.PNG

Ratkaisu

Tehtävä 2

Kirjoita ohjelma, jossa on editbox ja listbox. Edittiin kirjoitettu teksti voidaan lisätä listboxiin 'Lisää listaan' -napilla. Listasta voidaan poistaa rivi tuplanapauttamalla tai 'Poista rivi'-napilla. Listan voi tyhjentää 'Tyhjennä lista'-napilla. Tilarivillä seurataan kokoajan tapahtumia siten, että kun käyttäjä tekee jotain sinne tulee ilmoitus tapauksesta kuten 'lisäsit rivin listaan', 'tyhjensit listan' jne. Oikeanpuoleisessa pikkulokerossa seurataan listboxin rivien lukumäärää. Ohjelman täytyy pystyä myös muuttamaan kontrollien kokoa kun lomakkeen kokoa muutetaan. Huomaa myös oikea fontti.

Kuva:Win32_tehtäviä_syventävät2.PNG

Ratkaisu

Tehtävä 3

Kirjoita kello. Piirrä kellotaulu ja viisarit LineTo()-funktiolla. Varaa kerran sekunnissa toimiva Timer-kontrolli ja kutsu sieltä WM_PAINT sanomaa, jolloin Windows itse pyyhkii vanhat viisarit pois. Ohjelman täytyy osata skaalata viisarit oikean kokoisiksi riippumatta ikkunan koosta. Kellotaulun ympyrämuodon kaava voidaan laskea sin()- ja cos()-funktioilla. Kun origo on vasemmassa yläkulmassa, kaavan koordinaatit ovat muotoa,

  • Keskipiste: ikkunan_leveys/2-ikkunan_korkeus/2
  • X-koordinaatti: ikkunan_leveys/2+sin(x)*haluttu_etäisyys_keskipisteestä
  • Y-koordinaatti: ikkunan_korkeus/2-cos(x)*haluttu_etäisyys_keskipisteestä

jossa x on haluttu kulma radiaaneissa (00:00 on nolla ja 12:00 on 2*PII radiaania).

Kuva:Win32_tehtäviä_syventävät3.PNG

Ratkaisu

Tehtävä 4

Kirjoita ohjelma, joka osaa muuntaa valuuttoja kuvan esittämällä tavalla. '-->' -nappi siirtää Valuutta 1:n edit-kontrolliin kirjoitetun valuuttamäärän Valuutta 2:n edit-kontrolliin valittuun valuuttamuotoon ja päinvastoin. Jos muunnos ei ole mahdollinen palautetaan pelkästään 0.

Kuva:Win32_tehtäviä_syventävät4.PNG

Ratkaisu

Tehtävä 5

Kirjoita ohjelma, jossa on valikko ja sitä kautta mahdollisuus avata modaalinen dialogi 'Tietoja ohjelmasta'. Tee valikko ja dialogi kääntäjän resurssieditorilla.

Kuva:Win32_tehtäviä_syventävät5.PNG

Ratkaisu

Tämän dokumentin kopiointi, levittäminen sekä muokkaaminen on sallittua GNU Free Documentation Licensen version 1.2 tai uudemman Free Software Foundationin julkaiseman version mukaisesti, ilman muuttumattomuuslauseketta tai kansitekstejä. Tätä koskee vastuuvapaus.
Kopio lisenssistä (englanniksi) löytyy täältä.

Alkuperäinen (c) Petteri Hämäläinen

Henkilökohtaiset työkalut