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").