MFC tehtäviä syventävät
Mureakuha
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.
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.
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).
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.
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.
Kopio lisenssistä (englanniksi) löytyy täältä.
Alkuperäinen (c) Petteri Hämäläinen
