Win32 tehtäviä perusteet

Mureakuha

Loikkaa: valikkoon, hakuun

Seuraavat tehtävät voi tehdä resurssieditorilla eli piirrettäviä valintaikkunoita käyttämällä (tehtävät 2...5) tai CreateWindow -käskyillä. Ratkaisut ovat tällä hetkellä pelkästään CreateWindow -menetelmällä tehtyjä.

Sisällysluettelo

Tehtävä 1

Kirjoita ohjelma, joka tulostaa (WM_PAINT sanomassa eli teksti itseasiassa piirretään) lomakkeelle vasempaan reunaan, keskelle pystysuunnassa ruudun ja ikkunan koot. Tietojen täytyy pysyä näkyvissä koko ajan vaikka lomakkeen paikka tai koko muuttuisikin.

Kuva:Win32_tehtäviä_perus1.PNG

Ratkaisu

Tehtävä 2

Kirjoita ohjelma, jossa on kaksi button-ikkunaluokan painonappia. Push me -napin painaminen vaihtaa Beep me napin tilaa. Se siis painuu pohjaan jos se on alunperin ylhäällä ja nousee ylös jos se on alunperin alhaalla (käytä SendMessage() funktiota). Beep me -napin painaminen aiheuttaa piippauksen tietokoneen sisäisellä piipparilla.

Kuva:Win32_tehtäviä_perus2.PNG

Ratkaisu

Tehtävä 3

Kirjoita ohjelma, jossa on kaksi button-ikkunaluokan BS_AUTOCHECKBOX ja BS_AUTORADIOBUTTON tyylin kontrollia. Näiden tila tutkitaan painettaessa kyseisiä painonappeja ja tulos tulostetaan static-ikkunaluokan kontrolleihin.

Kuva:Win32_tehtäviä_perus3.PNG

Ratkaisu

Tehtävä 4

Kirjoita ohjelma, jossa on kaksi vierityspalkkia. Niiden asemaa pystyy hiirellä muuttamaan naputtelemalla kuilusta, palkin päistä tai siirtämällä hissilaatikkoa. Palkkien vieritysväli on 0 - 10000 ja kummankin palkin sen hetkinen tilanne tulostetaan static-ikkunaluokan kontrolliin riippuen siitä kumpaa palkkia käyttäjä viimeksi muutti.

Kuva:Win32_tehtäviä_perus4.PNG

Ratkaisu

Tehtävä 5

Kirjoita ohjelma, jossa on listbox- ja combobox-ikkunaluokan kontrollit ja niissä kahdeksan tekstiriviä. Valitun rivin teksti tulostetaan static-ikkunaluokan kontrolliin kyseistä nappia painettaessa.

Kuva:Win32_tehtäviä_perus5.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