GDI - Viikkotehtävä 3

Tee seuraavat ohjelmat käyttäen Visual Studiota (tai vastaavaa) ja Windows Formsia.

Jokainen tehtävä täytyy toteuttaa piirtämällä GDI+-rajapinnan (System.Drawing ja System.Drawing.Drawing2D) kautta suoraan lomakkeelle. Mitään normaaleja näkyviä kontrolleja ei saa käyttää. Esim. kiellettyjä ovat PictureBox-, Label-kontrollit. Poikkeuksena itsetoteutetut kontrollit, jotka toimivat vain GDI+-rajapintaa käyttäen.

Jokaisen tehtävän toteutuksen pitää toimia vaikka ohjelman ikkunan päällä käyttäisi muita ikkunoita.

Värien, tekstin, fonttien ja objektien liikeratojen ei tarvitse olla tismalleen samoja mitä malliohjelmissa.

Kts. seuraavat luennot, esimerkit ja tee pääteohjaustehtävä:

Eri tasojen ohjelmien toiminnan voit tarkistaa videolta:

Ohjelmiin ei tarvitse lisätä musiikkia kuten malliohjelmissa on. Malliohjelmassa on käytetty eri kuvaa.

Tehtävissä tarvittava kuva

Taso 1

Toteuta mallin tavalla toimiva ohjelma

Toteuta alalaidassa vaihtuva teksti omana kontrollina, jonka perit UserControl-luokasta. Kontrollissa täytyy olla ominaisuus (Property), jolla voi asettaa vaihtuvan tekstin haluamakseen. Kontrolli hoitaa itsenäisesti tekstin vaihtumisen.

Huomaa, että taustalla on oltava malliohjelman taustaa muodoltaan vastaava liukuväri.

Vinkki: Parhaat vinkit saat luentovideoista ja luentokoodiesimerkeistä, lisäapuna voit vilkaista: Kuva.zip, How to: Draw Text at a Specified Location, Graphics.DrawString Method, How to draw centered text ja GDI+ Brushes: Linear Gradient Brushes

Taso 3

Toteuta mallin tavalla toimiva ohjelma

Käytä toteutuksessasi ainakin kahta itse tekemääsi kontrollia: Scroller ja HorizontalBar.

Scrollerilla voi lisätä rullaavan tekstin mihin tahansa ohjelmaan ja propertyjen avulla määrittää rullattavan tekstin, tekstin liikkumisnopeuden ja kirjasimen koon. Skrollerin on liikuttava samaan tapaan kuin malliohjelmassa.

HorizontalBarilla saa yhden horisontaalisen palkin mihin tahansa ohjelmaan. Propertyilla voi määrätä palkin liukuvärin, paksuuden ja sijainnin. Älä keksi pyörää uudelleen...

Pyörivien palkkien ei tarvitse olla pöllön takana vaan ne saavat pyöriä myös pöllön edessä.

Kontrollien täytyy olla yleiskäyttöisiä mutta ei välttämättä suoraan Visual Studion toolboxista käytettäviä.

Vinkki: scrollerin ja pöllön liikeradat on helppo laskea SIN-funktion avulla. How to: Layer Objects on Windows Forms, z-index

Taso 5

Toteuta mallin tavalla toimiva ohjelma

Toteuta vastaavat kontrollit kuin kolmostasolla mutta viitostason malliohjelmaa vastaavalla toiminnallisuudella ja näiden lisäksi vielä toteuta myös kuvaa vääntelevä techtech-kontrolli.

Palkkien pitää olla pöllön edessä.

Techtech-kontrolli osaa vääntää malliohjelman tapaan mitä tahansa annettua kuvaa. Käytettävä kuva voidaan määrätä propertyn avulla.

Kontrollien täytyy olla yleiskäyttöisiä mutta ei välttämättä suoraan Visual Studion toolboxista käytettäviä.

Käyttäjien kommentit

Kommentoi Lisää kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/gko/vt/vt3/
© Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
2017-10-18 09:09:39
Informaatioteknologia - Jyväskylän yliopiston informaatioteknologian tiedekunta