Demo 8 / Ma 4.11


Kaikki seuraavat C++ tehtävät MFC:llä ( esim. C++ Builder illä kääntäen ).

1. Tavallinen piirtäminen

1-2.
Kirjoita oop\apf\mfc\draw_man.cpp (tai saat tehdä Delphilläkin) mallia käyttäen ohjelma joka piirtää shakkilaudan. Tee ensin luokka cLauta, jossa on laudan attribuutit

	  int x;            /* laudan vasemman yläkulman koord.     */ 
	  int y;            /*                                      */
	  int nx;           /* Ruutujen määrä x -suunnassa          */
	  int ny;           /* Ruutujen määrä y -suunnassa          */
	  int ruudun_koko;  /* Ruudun sivun pituus.                 */ 

Sitten vielä metodi Draw(CDC &dc) suorittamaan varsinainen piirto.
Shakkilaudassahan on joka toinen ruutu musta ja joka toinen valkoinen. Mieti samalla onko aliohjelmaasi helppo lisätä värejä, eli tehdä esim. kolmella eri värillä oleva lauta.

2. MopoCad Delphillä

3.
Ks. oop\apf\mfc\kolmio.cpp. Kirjoita tämän "oikeaksi korjattu" (ks. pääteohjaus) "MopoCad"-osuus Delphillä. (Jos tahdot kääntää, etkä omista ALI-hakemistoa, niin poista kaikki timeriin liittyvä).
4.
Lisää kuvion virkistäminen.
5-6.
Tee sama toisella tavalla: Kun hiiren nappi painetaan alas, syntyy uusi viiva-olio (voit käyttää demot\c-vast\c01\demo8\gkoline.pas - komponenttia). Kun hiirtä liikutetaan viivan pää seuraa hiirtä. Kun hiiri päästetään ylös viiva "valmistuu", eli sitä ei voi enää liikuttaa. Jos viivaa klikataan, niin viiva häviää ruudusta (vaihtoehtoisesti voit tehdä siten, että klikattu viiva muuttuu uudelleen "editoitavaksi").