Näkymien vierittäminen ja koon muuttaminen
|
|
- Vilho Nurmi
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Näkymien vierittäminen ja koon muuttaminen OSA V 415 LUKU LUKU Näkymien vierittäminen ja koon muuttaminen Ikkunan muuttuneen koon selvittäminen ja ohjelman vaste siihen Ikkunan enimmäis- ja vähimmäiskoon asettaminen Näyttöä suuremman tekstin ja kaavioiden piirtäminen ja vierityspalkkien käyttö näkymän eri osien katsomiseen.
2 416 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen Ikkunoiden koon muuttaminen on eräs yleisimmistä Windowskäyttöympäristössä tehtävistä toimista. Tämä joustavuus otetaan usein itsestäänselvyytenä ajattelematta ikkunassa olevalle sovellukselle kohdistuneita seurauksia. Sovelluksen tai sovelluksen ohjelmoijan kannalta ikkunan koon muuttuminen saattaa olla suurikin tehtävä. Mahdollisesti kontrollien paikkoja joudutaan muuttamaan ja skaalaamaan, vierityspalkit saatetaan lisätä tai poistaa ikkunasta ja esitettävä teksti tai kaaviot joudutaan muotoilemaan uudelleen. MFC-luokista on tässäkin apua, mutta silti joudumme itse päättämään, miten sovelluksemme halutaan käyttäytyvän ikkunan koon muuttuessa. Ikkunan tilan ja nykyisen paikan selvittäminen Saat aina selville ikkunan tila- ja paikkatiedot ikkunaan liittyvän CWnd-olion GetWindowPlacement()- funktiolla. Tämä funktio täyttää WINDOWPLACEMENTtietorakenteen (joka syötetään ensimmäisessä parametrissä osoittimena) ikkunan paikkatiedoin sekä antaa tilatiedon siitä, onko ikkuna pienennetty, suurennettu, esillä vai piilotettu. Vastaavalla SetWindowPlacement()-funktiolla voidaan ikkunan tilaa muuttaa ohjelmasta käsin. Ikkunan koon muuttumisen käsitteleminen Kun tartut kiinni ikkunan reunasta ja muutat sen kokoa, tapahtuu useita asioita. Ensiksi, tartuttaessa ikkunaan se lukitaan eli siihen ei voi enää piirtää. Kun koko muuttuu, ikkuna saa useita koon muuttumissanomia (WM_SIZING). Kun haluttu koko on saavutettu ja hiiren vasen painike vapautetaan, sovellus saa vielä lopullisen WM_SIZE-sanoman, joka kertoo, että ikkuna tulee muuttaa halutun kokoiseksi. Voit perehtyä ikkunan koon muuttamiseen FormView-tyyppisellä SDIsovelluksella. FormView näyttää näkymässä valintaikkunapohjan, jonka kautta näkymäikkunaan voidaan lisätä kontrolleja aivan valintaikkunan tapaan. Saat tehtyä AppWizardilla FormView-pohjaisen sovelluksen seuraavien vaiheiden mukaisesti. FormView-pohjaisen SDI-sovelluksen luominen 1. Valitse File-valikosta New. 2. Valitse Projects-välilehti ja projektityyppien luettelosta MFC AppWizard (exe). 3. Napauta nyt Project Name ruutua ja anna nimeksi SizeForm. 4. Napauta OK. MFC AppWizard Step1 ikkunan pitäisi tulla esiin.
3 Näkymien vierittäminen ja koon muuttaminen 5. Valitse tässä ikkunassa Single Document ja napauta Nextpainiketta, kunnes päädyt viimeiseen vaiheeseen (Step 6, ikkunassa ruutulipun kuva). 6. Napauta AppWizardin luotavien luokkien luettelosta CSizeFormView-luokkaa. 7. Nyt Base Classes yhdistelmäruudun pitäisi olla käytössä. Avaa ruudun luettelo nuolesta ja näet käytettävissä olevat kantaluokat. 8. Valitse näistä CFormView kuvan 18.1 tapaan. 9. Napauta Finish. 10. Napauta New Project Information ikkunassa OK ja AppWizard tekee uuden projektin lähdekooditiedostoineen. OSA V LUKU KUVA 18.1 CFormView-kantaluokan valitseminen päänäkymälle AppWizardissa. Koon muutostapahtuman käsitteleminen Voit seurata ja käsitellä Windowsin koon muuttamistapahtuman sanoman (WM_SIZING) näyttääksesi ikkunan muuttuvan koon sen otsikkopalkissa. Ikkuna on lukitu muutoksilta kokoa muutettaessa, joten joudut purkamaan lukituksen ennen kuin saat kirjoitettua
4 418 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen ikkunaan. Tämän jälkeen lukitset ikkunan uudelleen. Seuraavaksi esitetään, kuinka tämä saadaan tehtyä FormView-pohjaisessa SDIsovelluksessa. Lisää siis OnSizing()-käsittelijäfunktio. WM_SIZING-käsittelijän lisääminen EventWizardilla 1. Napauta projektin työtilaikkunassa ClassView-sivulla SizeForm Classes rivillä tekstin vasemmalla puolen olevaa plusmerkkiä nähdäksesi kaikki projektin luokat. 2. Kehysluokka käsittelee koon muuttamissanomat, joten lisäämme käsittelijän siihen. Napauta CMainFrame-luokkaa hiiren oikealla painikkeella ja valitse saamastasi pikavalikosta Add Windows Message Handler. 3. Nyt esillä tulisi olla New Windows Message and Event Handlers for class CMainFrame ikkunan. 4. Vieritä sanomaluetteloa (New Windows Messages and Events), kunnes löydät WM_SIZING-sanoman. 5. Valitse tämä ja napauta Add and Edit painiketta kuvan 18.2 tapaan. KUVA 18.2 Käsittelijän lisääminen WM_SIZING-sanomalle.
5 Näkymien vierittäminen ja koon muuttaminen OSA V LUKU Nyt editorissa pitäisi olla näkyvissä OnSizing()-käsittelijäfunktio. Lisää listauksen 18.1 rivit ja saat ikkunan otsikkopalkkiin ikkunan sen hetkisen koon. LISTAUS 18.1 LST18_1.CPP Ikkunan muuttuvan koon näyttäminen 1 void CMainFrame::OnSizing(UINT fwside, LPRECT prect) 2 { 3 CFrameWnd::OnSizing(fwSide, prect); 4 // TODO: Add your message -handler code here 5 6 // ** Construct a CRect from the structure pointer 7 CRect rcsize(prect); // ** Create a String to hold our message 10 CString sizemsg; // ** Display the Sizing information 13 // ** From the Sizing Rectangle 14 sizemsg.format("sizing: width = %d, height = %d", 15 rcsize.width(),rcsize.height()); // ** Turn off Window Locking 18 UnlockWindowUpdate(); // ** Update the Title Bar Text 21 SetWindowText(sizeMsg); // ** Turn Locking back on 24 LockWindowUpdate(); 25 } 1 RECT-tietorakenne on helpompi käyttää, kun se muutetaan CRect-luokaksi. 2 Ikkunan venytetty koko muotoillaan CString-merkkijonoksi ikkunan otsikkopalkkiin asetettavaksi. 3 Koska Windows lukitsee ikkunan sisällön koon muuttamisen aikana, lukitus joudutaan tilapäisesti poistamaan. Tätä käsittelijää tullaan nyt kutsumaan aina hiiren liikkuessa ikkunan kokoa muutettaessa. Funktio saa parametreinä lipun, joka kertoo, miltä sivulta ikkunaan on tartuttu sekä osoittimen suorakulmioon (prect), jossa ikkunan koordinaatit ovat. Ensiksi joudut muuttamaan tämän RECT-tietorakenteen ystävällisempään CRect-muotoon (rivi 7). Tämän jälkeen voit siirtää ikkunan leveyden ja korkeuden ikkunaan kirjoitettavaan merkkijonoon. Lopuksi ikkunan otsikoksi asetetaan tämä teksti, jossa koordinaatit ovat, SetWindowText()-funktiolla rivillä 21. Huomaa SetWindowText()-funktion ympärillä käytetyt UnlockWindowUpdate()- ja LockWindowUpdate()-funktiot (rivit 18 ja 24). Nämä tarvitaan, koska Windows lukitsee automaattisesti ikkunan estäen siihen piirtämisen kokoa muutettaessa. Tämä on
6 420 SizeForm-esimerkin suorittaminen Microsoft Plus!-ohjelmiston kanssa Jos käytössäsi on Microsoft Plus! -ohjelmisto (tai Windows NT), varmista tätä esimerkkiä suorittaessasi, että Näytä ikkunan sisältö vedettäessä - valinta (Show Window Content While Dragging) ei ole asetettuna. Tämä valinta löytyy Ohjauspaneelin Näyttöasetuksista Plus! tai Tehosteet -välilehdeltä (Control Panel/Display). Jos valinta on sallittu, ikkunan lukitus poistetaan ja näyttö menee sekaisin. Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen yleensä vain hyödyksi, ettei ikkunan sisältö sekoittuisi. Koon muuttaminen nimittäin saisi aikaan jatkuvan ikkunan päivitystarpeen, joten siihen piirrettäisiin koko ajan. Käännettyäsi ohjelman näiden muutosten jälkeen ja ajettuasi sen pitäisi ikkunan leveyden (width) ja korkeuden (height) näkyä ikkunan otsikkopalkissa ikkunan kokoa muutettaessa. Lopullisen koon muuttamissanoman käsitteleminen Yleensä tieto siitä, että ikkunan koko parhaillaan muuttuu, ei ole yhtä tarpeellinen kuin tieto koon muuttamisen päättymisestä. Voit toki muuttaa kokoa muutettaessakin (kun WM_SIZING-sanomaa lähetetään) saamasi suorakulmion koordinaatteja, mutta se on harvoin tarpeen. Sen sijaan lopullinen tieto koon muuttamisen päättymisestä on paljon hyödyllisempi. Tämä tarkoittaa, että käyttäjä on päättänyt ikkunan oikean koon ja vapauttanut hiiren vasemman painikkeen. Voit käsitellä tämän sanoman kehysluokassa koon muuttamissanoman tavoin, mutta se välitetään edelleen myös näkymäluokalle, missä sillä on suurempi merkitys. Lisää siis käsittelijäfunktio. Näkymän käsittelijän lisääminen ikkunan koon muuttumiselle 1. Valitse projektin työtilaikkunassa ClassView-sivulla CSizeFormView-luokka. 2. Napauta sitä hiiren oikealla painikkeella ja valitse saamastasi pikavalikosta Add Windows Message Handler. 3. Nyt esillä tulisi olla New Windows Message and Event Handlers ikkuna. 4. Valitse sanomaluettelosta (New Windows Messages and Events) WM_SIZE. 5. Napauta Add and Edit painiketta lisätäksesi käsittelijäfunktion. Voit nyt lisätä listauksen 18.2 muutokset lopullisen leveyden ja korkeuden näyttämiseksi otsikkopalkissa.
7 Näkymien vierittäminen ja koon muuttaminen LISTAUS 18.2 LST18_2.CPP Size-tapahtuman käsittelijän toteutus OSA V LUKU void CSizeFormView::OnSize(UINT ntype, int cx, int cy) 2 { 3 CFormView::OnSize(nType, cx, cy); 4 5 // TODO: Add your message handler code here 6 7 // ** Declare a string object 8 CString strtitle; 9 10 // ** Setup and display the Document Title 11 strtitle.format("final Width = %d, Height = %d", cx,cy); 1 12 GetDocument()->SetTitle(strTitle); 13 } 1 Leveys muotoillaan ja asetetaan dokumentin otsikoksi (joka näkyy ikkunan otsikkopalkissa). Listauksessa 18.2 esitettyä OnSize()-käsittelijää kutsutaan, kun ikkunan kokoa on muutettu. Funktio saa Windowsilta OnSize()- funktion ensimmäisenä parametrinä (ntype) lippuna tiedon siitä, miksi ikkunan kokoa muutettiin. Tämä koodi voi saada taulukossa 18.1 esitettyjä arvoja. TAULUKKO 18.1 Size-tapahtuman liput Lippu SIZE_RESTORED SIZE_MAXIMIZED SIZE_MINIMIZED Kuvaus Ikkunan kokoa muutettiin Ikkuna suurennettiin Ikkuna pienennettiin Kaksi muuta listauksessa 18.2 OnSize()-funktiolle välitettyä parametriä ovat uusi leveys (cx) ja korkeus (cy) kokonaislukuina. Voit muotoilla näytettävän merkkijonon esittämään nämä arvot (rivi 10) ja näyttää merkkijonon ikkunan otsikkopalkissa dokumentin SetTitle()-funktiolla (rivi 12). Käännettyäsi ohjelman näiden muutosten jälkeen ja ajettuasi sen pitäisi ikkunan leveyden (width) ja korkeuden (height) näkyä ikkunan otsikkopalkissa ikkunan kokoa muutettaessa ja lopullisen koon sen muuttamisen jälkeen. Saatat hämmästellä, milloin ja miksi haluaisit tietää ikkunan koon muuttumisesta. Tavallinen tapaus on kontrollien koon muuttaminen lomakenäkymässä (form view). Kuvittele, että olet kirjoittanut yksin-
8 422 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen kertaisen tekstinkäsittelyohjelman, jossa on monirivinen tekstiruutu. Käyttäjän muuttaessa sovellusikkunan kokoa tulisi myös tekstiruudun koon muuttua vastaavasti. Seuraavaksi esitetään ohjeet sellaisen tekstiruudun lisäämiseksi. Vieritysasetusten käyttö Horizontal Scroll ja Vertical Scroll -valinnat lisäävät tekstiruutuun vaaka- ja pystyvierityspalkit. AutoHScroll ja AutoVScroll puolestaan saavat tekstiruudun vierittämään automaattisesti rivin lopussa tai käyttäjän painaessa rivinvaihdon kontrollin lopussa. Ellei AutoHScroll-valintaa ole asetettu, kontrollin teksti rivitetään automaattisesti tekstiruudun seuraavalle riville. Monirivisen vieritettävän tekstikontrollin lisääminen vanhaan FormView-projektiisi 1. Napauta projektin työtilaikkunassa ResourceView-sivua. 2. Napauta projektin Resources-kansion viereistä plusmerkkiä ja saat esiin projektin eri resurssit. 3. Napauta Dialog-kansion viereistä plusmerkkiä avataksesi projektin valintaikkunan. 4. Esillä pitäisi olla projektin mukaan nimetty valintaikkuna (IDD_SIZEFORMFORM). Tämä valintaikkunapohja on FormViewnäkymän perustana. 5. Kaksoisnapauta tätä alkiota ja saat editoriin tyhjän valintaikkunan, jossa on teksti TODO: Place Controls Here. 6. Poista teksti valitsemalla se ja painamalla Delete-painiketta. 7. Ota Controls-työkalupaletista tekstiruutukontrolli (Edit Box), raahaa se tyhjälle valintaikkunapohjalle ja pudota. 8. Muuta tekstiruutu täyttämään valintaikkunan sinisellä pisteviivalla rajattu alue. 9. Avaa kontrollin asetukset (Edit Properties) näppäilemällä Alt+Enter. 10. Napauta Styles-välilehteä ja tarkista, että Multiline, Horizontal Scroll, Auto HScroll, Vertical Scroll, Auto VScroll ja Want return liput on valittu. 11. Valitse General-sivu ja muuta resurssin ID-tunnukseksi IDC_SIZEABLE_EDIT kuvan 18.3 mukaisesti. 12. Sulje Properties-ikkuna Enterillä. Nyt olet lisännyt tekstiruutusi, mutta siihen ei vielä liity ohjelman kontrollimuuttujaa tiedon vaihtamista varten. Seuraava tehtävä onkin tällaisen lisääminen ClassWizardilla.
9 Näkymien vierittäminen ja koon muuttaminen OSA V LUKU KUVA 18.3 Monirivisen tekstiruudun lisääminen Muuttujan liittäminen tekstikontrolliin ClassWizardilla 1. Napauta varovasti tekstikontrollin reunaa. 2. Avaa ClassWizard näppäilemällä Ctrl+W tai valitsemalla Viewvalikosta ClassWizard. 3. Nyt esillä tulisi olla ClassWizard-ikkunan ja siitä Member Variables välilehden valittuna. 4. Valitse sopiva kontrollin ID-tunnus Control IDs luettelosta (tässä IDC_SIZEABLE_EDIT). Napauta Add Variable painiketta ja saat esiin vastaavan ikkunan. 5. Nyt voit lisätä tekstikontrollia edustavan muuttujan. 6. Valitse Category-yhdistelmäruutuun Control tämän pitäisi automaattisesti valita Variable Type ruutuun CEdit. 7. Napauta Member Variable Name tekstiruutua ja syötä uuden muuttujasi nimi (esimerkiksi m_sizeableedit), kuten kuvassa KUVA 18.4 CEdit-muuttujan lisääminen Sizeable Edit tekstiruutua varten. 8. Lisää jäsenmuuttuja näkymäluokkaan (view) napauttamalla OK.
10 424 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen Nyt sinulla on kontrolliin liittyvä jäsenmuuttuja m_sizeableedit. Tämän avulla voit lukea ja kirjoittaa tekstiä ohjelmasta kontrolliin ja päinvastoin. Voit myös lähettää tämän muuttujan kautta koon muuttamissanoman kontrollille. Seuraavaksi joudut käsittelemään WM_SIZE-sanoman, jotta tietäisit, milloin tekstiruudun kokoa tulee muuttaa ja minkä verran. Sinulla on jo käsittelijäfunktio ja löydät sen näppärästi ClassWizardilla seuraavien ohjeiden avulla. Jäsenfunktion hakeminen ClassView-sivulla Toinen tapa tehdä tämä on etsiä OnSize()-funktio projektin työtilaikkunan ClassView-sivulla. Tämä jäsenfunktio löytyy CSizeFormView-kansion alta ja se saadaan avattua editoriin OnSize()-nimeä kaksoisnapauttamalla. Vaihtoehtoisesti funktion nimen päällä hiiren oikeaa painiketta napautettaessa saatavasta pikavalikosta voidaan valita, halutaanko nähdä funktion toteutus (Go to Definition) vai määrittely (Go to Declaration). Jäsen/käsittelijäfunktion hakeminen ClassWizardilla 1. Valitse ClassWizardin Message Maps välilehti ja varmista, että oikea luokka (tässä CSizeFormView) on valittu Class Name ruudussa. 2. Vieritä tarvittaessa Member Functions luetteloa ja etsi sopiva sanoma (kuten ON_WM_SIZE) tai jäsenfunktio (kuten OnSize()). 3. Kaksoisnapauta tätä alkiota ja pääset suoraan muokkaamaan CSizeFormView-luokan jäsenfunktiotasi (kuten OnSize()). Aluksi OnSize()-funktiossa ei ole koodia, joka muuttaisi tekstiruudun kokoa ikkunan koon muuttuessa. Voit kokeilla ohjelman toiminnan kääntämällä ja ajamalla sen. Kun muutat ikkunan kokoa, pysyy tekstiruutu saman kokoisena kuin ennenkin. Voit kirjoittaa tekstiä ruutuun, mutta eikö kunnon tekstinkäsittelyohjelmassa tuon muokkausalueen (siis tekstiruudun) pitäisikin pysyä ikkunan koon mukaisena? Sulje sovellus ja palaa lomakenäkymän (CSizeFormView) OnSize()- funktioon. Lisää listauksen 18.3 rivit OnSize()-käsittelijän loppuun. LISTAUS 18.3 LST18_3.CPP Tekstiruudun koon muuttaminen ikkunan koon muuttuessa 1 void CSizeFormView::OnSize(UINT ntype, int cx, int cy) 2 { 3 CFormView::OnSize(nType, cx, cy); 4 5 // TODO: Add your message handler code here 6 7 CString strtitle; 8 strtitle.format("final Width = %d, Height = %d",cx,cy); 9 GetDocument()->SetTitle(strTitle); // ** Check the Edit Box is 'Alive'
11 Näkymien vierittäminen ja koon muuttaminen OSA V LUKU if (m_sizeableedit.getsafehwnd()) // ** Size to the new window size 15 m_sizeableedit.setwindowpos(this,0,0, 16 cx-40,cy-40, 17 // ** Only Resize 18 SWP_NOMOVE+SWP_NOZORDER+SWP_SHOWWINDOW+ 19 SWP_NOACTIVATE); 1 20 } 1 Tekstiruudun kokoa muutetaan vain hieman ikkunaa kapeammaksi ja matalammaksi. Liput ilmaisevat, että on kyse ainoastaan koon muuttamisesta. Joudut varmistamaan, että tekstiruutu on kunnolla alustettu sen GetSafeHwnd()-jäsenfunktiolla listauksen 18.3 rivillä 12 (muuten et saa tehdä mitään alustamattoman ikkunan kanssa). Rivin 15 SetWindowPos()-funktio on monipuolinen funktio, jolla voit muuttaa ikkunan paikkaa ja kokoa sekä aktivoida tai piilottaa ikkunan. Nyt riittää, että ainoastaan ikkunan kokoa muutetaan, joten voit syöttää sille ikkunan uuden koon cx- ja cy-parametreinä (miinus reunuksen 40 kuvapistettä). SetWindowPos()-funktion viimeinen lippuparametri kertoo, mitä funktion oletetaan tekevän ja mitä parametrejä sen tulee käyttää. Käytettävissä olevat liput on esitetty taulukossa TAULUKKO 18.2 SetWindowPos()-funktion liput Lippu Kuvaus SWP_NOMOVE Älä siirrä ikkunaa; toista ja kolmatta (x ja y) parametriä ei huomioida SWP_NORESIZE Älä muuta ikkunan kokoa; kolmatta ja neljättä (cxja cy) kokoparametriä ei huomioida SWP_NOZORDER Älä sijoita ikkunaa muiden ikkunoiden eteen tai taakse (ei huomioi ensimmäistä pwndinsertafter-parametriä) SWP_NOACTIVATE Älä muuta ikkunaa aktiiviseksi SWP_SHOWWINDOW Näytä ikkuna Käännä ja aja sovellus näiden rivien lisäämisen jälkeen, jolloin saat kuvan 18.5 mukaisen tekstieditorin, jonka ikkunan kokoa voi muuttaa.
12 426 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen KUVA 18.5 Tekstieditori, jonka ikkunan kokoa voi muuttaa. Kokorajojen asettaminen Saatat haluta estää käyttäjää muuttamasta ikkunaa määrättyä kokoa suuremmaksi tai pienemmäksi. Tämä onnistuu käsittelemällä ikkunan WM_GETMINMAXINFO-sanoma kehysluokan (frame) OnGetMinMaxInfo()-käsittelijäfunktiolla. Tämän funktion ja sille välitettyjen parametrien avulla saat asetettua ikkunasi koolle ala- ja ylärajat. Käsittelijäfunktion lisääminen Wizard-palkista Add Windows Message Handler - toiminto voidaan käynnistää myös Wizard-palkin oikean reunan avautuvasta luettelosta. Jos käytät tätä työkaluriviä ClassView-sivun sijaan, varmista, että rivin ensimmäisessä yhdistelmäruudussa on CMainFrame-luokka valittuna, jotta lisättävä käsittelijä tulisi tuon luokan jäseneksi. Käsittelijäfunktion lisääminen ikkunan vähimmäis- ja enimmäiskoon ohjaamiseksi 1. Napauta projektin työtilaikkunan ClassView-sivulla CMainFrame-luokkaa hiiren oikealla painikkeella. Saat esiin pikavalikon. 2. Valitse valikosta Add Windows Message Handler komento. Nyt esiin pitäisi tulla New Windows Message and Event Handlers for class CMainFrame valintaikkunan. 3. Valitse New Windows Messages/Events luettelosta WM_GETMINMAXINFO-sanoma ja napauta Add and Edit painiketta lisätäksesi uuden käsittelijän. Nyt voit lisätä listauksessa 18.4 esitetyt rivit kehysikkunan uuteen OnGetMinMaxInfo()-käsittelijäfunktioon. Nämä rajoittavat ikkunan sallitun vähimmäis- ja enimmäiskoon estäen käyttäjää ylittämästä annettuja raja-arvoja.
13 Näkymien vierittäminen ja koon muuttaminen LISTAUS 18.4 LST18_4.CPP Ikkunan vähimmäis- ja enimmäiskoon asettaminen OnGetMinMaxInfo()-funktiolla 1 void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpmmi) 2 { 3 // TODO: Add your message handler code here 4 5 // ** Set Min Size 6 lpmmi->ptmintracksize = CPoint(200,200); 7 8 // ** Set Max Size 9 lpmmi->ptmaxtracksize = CPoint(500,400); CFrameWnd::OnGetMinMaxInfo(lpMMI); 12 } OSA V LUKU Käännettyäsi ja ajettuasi ohjelman rivien lisäämisen jälkeen kokeile ikkunan koon muuttamista. Huomannet, ettet saa kutistettua ikkunaa 200 x 200 kuvapistettä pienemmäksi etkä 500 x 400 suuremmaksi. Rivillä 6 muutettua MINMAXINFO-tietorakenteen ptmintracksizeja rivillä 9 muutettua ptmaxtracksize-jäsentä muuttamalla voit säätää näitä raja-arvoja. Listauksessa 18.5 on esitetty MINMAXINFO-tietorakenteen määrittely. LISTAUS 18.5 LST18_5.CPP MINMAXINFO-tietorakenne 1 typedef struct tagminmaxinfo { 2 POINT ptreserved; 3 POINT ptmaxsize; 4 POINT ptmaxposition; 5 POINT ptmintracksize; 6 POINT ptmaxtracksize; 7 } MINMAXINFO; Tietorakenne esittää vielä kaksi muuta jäsentä, joiden arvoa voimme muuttaa. Toinen on rivin 3 ptmaxsize, jolla ikkunan enimmäisleveys ja korkeus voidaan säätää ja toinen rivin 4 ptmaxposition, jolla voidaan asettaa suurennetun ikkunan vasemman yläkulman paikka. POINT-tietotyyppi WIN32:n POINT-tietorakenteessa ovat x- ja y-jäsenet, joissa ovat yhden pisteen koordinaatit. Tutumpi CPoint-luokka kapseloi sisäänsä POINT-tietorakenteen ja lisää käyttökelpoisia jäsenfunktioita sekä kuormitettuja operaattoreita. Venytettävien valintaikkunoiden luominen Valintaikkunan muuttaminen sellaiseksi, että sen kokoa voidaan muuttaa, käy varsin helposti. Seuraavassa on annettu ohjeet sovelluksemme About-ikkunan koon muuttamisen mahdollistamiseksi.
14 428 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen About-ikkunan muuttaminen pienennettäväksi ja suurennettavaksi 1. Napauta projektin työtilaikkunassa ResourceView-sivua. 2. Avaa valintaikkunaresurssit napauttamalla projektin (kuten SizeFormin) Resources kansion sekä Dialog-kansion viereistä plusmerkkiä. 3. Kaksoisnapauta IDD_ABOUTBOX-valintaikkunaa ja pääset muokkaamaan sitä. 4. Näppäile Alt+Enter, muuttaaksesi valintaikkunan asetuksia Properties-ikkunassa. 5. Avaa Border Style luettelo ja valitse Resizing. 6. Käännä ja aja sovelluksesi. 7. Napauta sovelluksen Help-valikkoa ja valitse siitä Aboutkomento (kuten About SizeForm). 8. Nyt voit muuttaa valintaikkunan kokoa ikkunan oikeassa alakulmassa olevasta koonmuuttokohdasta. Voit halutessasi käsitellä OnSize()-sanoman aivan samaan tapaan kuin aiemmassa tekstieditoriesimerkissä. Ikkunoiden vierittäminen Aina ei ole mahdollista esittää ikkunan koon vuoksi tiettyä kuvaa tai valintaikkunaa kokonaan. Joskus saatat jopa haluta piirtää näyttöruutua suurempaan ikkunaan ja antaa käyttäjälle mahdollisuuden tutkia koko piirrosta vierittämällä. MFC-kirjastossa on tähän tarkoitukseen sopiva näkymäluokka CScrollView. Olet taatusti käyttänyt jo sovelluksia, joissa vierityspalkkien avulla voidaan tutkia ikkunan näytettävää aluetta. Voit siis tehdä AppWizardilla SDI-sovelluksen, jossa on CScrollView-luokan avulla toteutettu vieritettävä alue. Sovelluksen luomisen vaiheet ovat miltei samat kuin aiemmin esitetyssä CFormView-esimerkissä. Tällä kertaa valitset kuitenkin AppWizardin viimeisessä ruudussa CFormView-luokan tilalle Base Class yhdistelmäruutuun CScrollView. Seuraavat esimerkit esittävät PanSdi-nimisen CScrollViewsovelluksen ominaisuuksia.
15 Näkymien vierittäminen ja koon muuttaminen Vieritettävän alueen koon asettaminen Jos käännät ja ajat AppWizardin tekemän CScrollView-pohjaisen SDIsovelluksen, et huomaa heti mitään eroa tavalliseen CView-näkymällä varustettuun SDI-sovellukseen. Syy tähän on, että vieritettävän näkymän oletuskoko on sovellusrungossa 100 x 100 kuvapistettä. Voit muuttaa tätä oletuskokoa jopa koko näyttöä suuremmaksi muuttamalla oletusarvoja näkymän (view) OnInitialUpdate()-funktiossa. OSA V LUKU Näkymän OnInitialUpdate()-funktion löytäminen vieritysnäkymän koon muuttamista varten 1. Valitse projektin työtilanäkymässä (workspace) ClassView-sivu. 2. Avaa projektisi luokat napauttamalla projektin nimen viereistä plusmerkkiä. 3. Avaa CScrollView-kantaluokasta peritty luokka (kuten CPanSDIView) napauttamalla sen plusmerkkiä. Jäsenfunktioluettelon loppupuolelta pitäisi löytyä OnInitialUpdate()-funktio. 4. Kaksoisnapauta tätä funktiota ja esiin pitäisi tulla sen oletustoteutuskoodi listauksen 18.6 mukaisena. 5. Voit muuttaa vieritysnäkymän oletuskokoja muuttamalla sizetotal.cx ja sizetotal.cy-muuttujien arvoja. OnInitialUpdate()-funktio OnInitialUpdate()-funktio on hyvä paikka suorittaa vain kerran tehtäviä alustuksia, koska funktiota kutsutaan ainoastaan kerran, kun näkymäikkuna alustetaan. Funktio on vastaava kuin valintaikkunan OnInitDialog(). Älä kuitenkaan viittaa sovelluksesi dokumenttiolioon OnInitialUpdate()- funktiossa, koska joskus näkymä alustetaan ennen dokumenttia. Muussa tapauksessa sovelluksesi saattaa kaatua jo käynnistyessään. LISTAUS 18.6 LST18_6.CPP ScrollView-vieritysnäkymän oletustoteutus OnInitialUpdate()-funktiossa 1 void CPanSDIView::OnInitialUpdate() 2 { 3 CScrollView::OnInitialUpdate(); 4 CSize sizetotal; 5 6 // TODO: calculate the total size of this view 7 sizetotal.cx = sizetotal.cy = 100; 8 SetScrollSizes(MM_TEXT, sizetotal); 1 9 } 1 Oletuksena vierityksen kokonaismitaksi asetetaan 100 x 100 pistettä, joka yleensä on liian pieni tosikäyttöön. Listauksessa 18.6 esitettyä OnInitialUpdate()-funktiota kutsutaan vain kerran: juuri ennen näkymän näyttämistä, mutta kuitenkin sen dokumenttiin liittämisen jälkeen. Voit toteuttaa funktiossa näkymän tarvitsemia kertaluonteisia alustuksia. CSize-luokka on alustettu listauksen 18.6 rivillä 7 kokoon 100 x 100. Nämä arvot syötetään sitten SetScrollSizes()-funktiolle, joka
16 430 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen asettaa näkymän koon erityisessä piirtotilassa (joita käsiteltiin luvussa 15). Tästä johtuen näkymän koko on 100 x 100 eli tavallisen ikkunan kokoa pienempi, joten vierityspalkkeja ei välttämättä näytetä. Vierityspalkkeja varten haluat todennäköisesti hyvin suuren näkymän, jopa itse näyttöä suuremman. Voit siis muuttaa näkymän kooksi 2000 x 2000 vaihtamalla listauksen 18.7 tapaan luvun 100 paikalle Tämä suurentaa vieritysnäkymäsi koko näyttöäsikin suuremmaksi (ellei sinulla ole ultrasuperhypertarkkaa näyttöä). LISTAUS 18.7 LST18_7.CPP Näyttöä suuremman näkymän koon asettaminen x 2000 pistettä on näyttöä suurempi alue, joten vieritysnäkymä voi esittää käyttäjälle alueesta ainoastaan osan vierittämällä. 1 void CPanSDIView::OnInitialUpdate() 2 { 3 CScrollView::OnInitialUpdate(); 4 CSize sizetotal; 5 6 // TODO: calculate the total size of this view 7 sizetotal.cx = sizetotal.cy = 2000; // ** New Size 8 SetScrollSizes(MM_TEXT, sizetotal); 1 9 } Voisit piirtää näyttöön jotain todella suurta, jotta saisit vierityksen käyttöön. Listauksessa 18.8 on esitetty ellipsin piirtämistä varten lisättävät rivit. Löydät OnDraw()-funktion koodin kaksoisnapauttamalla ClassView-sivulla OnDraw()-funktiota. LISTAUS 18.8 LST18_9.CPP Näyttöä suuremman kuvion piirtäminen ScrollView-näkymässä 1 Ellipsi piirretään ikkunaa suurempana ja se rajataan ikkunan näkyvään osaan. 1 void CPanSDIView::OnDraw(CDC* pdc) 2 { 3 CPanSDIDoc* pdoc = GetDocument(); 4 ASSERT_VALID(pDoc); 5 6 // TODO: add draw code for native data here 7 8 // ** Select a Gray Brush 9 CBrush* poldbrush = 10 (CBrush*)pDC->SelectStockObject(LTGRAY_BRUSH); // ** Make a CRect 13 CRect rctotal(cpoint(0,0),gettotalsize()); // ** Draw Ellipse 16 pdc->ellipse(rctotal); // ** Reselect the old brush 19 pdc->selectobject(poldbrush); 20 }
17 Näkymien vierittäminen ja koon muuttaminen Huomaa listauksessa 18.8, että vieritysnäkymän funktiolla GetTotalSize() (rivillä 13) haetaan koko vieritettävän alueen koko, joka asetettiin OnInitialUpdate()-funktiossa SetScrollSizes()- funktiolla. Tästä tiedosta saadaan muodostettua CRect, jonka avulla saadaan piirrettyä 2000 x 2000 kuvapisteen kokoinen ellipsi. Rivillä 10 tämä piirretään vaaleanharmaalla siveltimellä (LTGRAY_BRUSH). Kun käännät ja ajat sovelluksen näiden muutosten jälkeen, näet ikkunan, jossa on osa valtavan suuresta ellipsistä (kuva 18.6). Vierityspalkkien avulla saat esiin ellipsin muutkin osat. Voit kokeilla vielä ikkunan koon muuttamista: huomaat vierityspalkkien muuttuvan ja paljastavan, minkä verran ikkunassa vielä on nähtävää. OSA V LUKU KUVA 18.6 Ikkunaa suurempien kappaleiden näyttäminen scroll view näkymässä Sivu- ja rivivierityksen määrän muuttaminen Jos napautat vierityspalkin päässä olevaa nuolta, huomaat, että kuvaa vieritetään vain hieman; kyseessä on rivivieritys. Jos sen sijaan napautat vieritysruudun ja vieritysnuolen välistä aluetta, kuvaa vieritetäänkin kerralla paljon enemmän. Tällöin kyseessä on sivuvieritys. Nimitykset tulevat tekstinkäsittelysovelluksista, mutta toimivat hyvin kaiken näkymässä näytettävän kanssa. Voit muuttaa näitä vierityspalkin osia käytettäessä siirryttävää matkaa lisäämällä parametrejä SetScrollSizes()-funktioon. Ellei rivi- ja sivuvieritysarvoja anneta, niiden oletusarvo valitaan sopivaksi näkymän kokoon nähden. Voit muuttaa näitä molempia arvoja syöttämällä funktiolle CSize-olion, jossa on arvo sekä vaaka- että pystysuuntaiselle vierityspalkille. CSize-oliossa on cx- ja cy-jäsenet. cx-arvo muuttaa Rivin ja sivun vieritysarvot Tavallisesti rivi- ja sivuvieritys määritetään kuvapisteinä MM_TEXT -koordinaatiston kohdistustapaa käytettäessä. Vieritysarvot voidaan myös määrittää eri kohdistustapoja käytettäessä myös todellisina reaalimailman mittoina. Voit esimerkiksi määrittää pystyvierityspalkin vierittämään sentin kerrallaan ja sivuvierityksen 10 cm.
18 432 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen vaakavierityspalkin rivi- tai sivuvierityksen määrää ja cy pystyvierityspalkin. SetScrollSizes()-funktio voidaan alustaa, kun näkymä näytetään ensimmäisen kerran OnInitialUpdate()-funktiossa. Voit siis kaksoisnapauttaa tätä funktiota projektin työtilaikkunan ClassViewsivulla, jotta pääset muokkaamaan näkymäluokan OnInitialUpdate()-jäsenfunktiota. Voisit lisätä vielä CSize-oliot SetScrollSizes()-funktion parametrejä varten rivi- ja sivuvierityksen muuttamiseksi (listauksen 18.9 mukaan). LISTAUS 18.9 LST18_9.CPP Rivi- ja sivuvierityksen asettaminen SetScrollSizes()-funktiolla 1 SetScrollSizes() voi muutta myös molempien vierityspalkkien rivi- ja sivuvieritysarvoja. 1 void CPanSDIView::OnInitialUpdate() 2 { 3 CScrollView::OnInitialUpdate(); 4 CSize sizetotal; 5 // TODO: calculate the total size of this view 6 sizetotal.cx = sizetotal.cy = 2000; // New Size 7 SetScrollSizes(MM_TEXT, sizetotal, 8 CSize(200,10), // ** Page Scroll (X,Y) 9 CSize(20,1)); // ** Line Scroll (X,Y) 1 10 } Huomaa, että vaakasuuntaiset vieritysmäärät ovat pystysuuntaista suurempia sekä rivi- että sivuvierityksessä. Jos käännät ja ajat sovelluksesi ja napautat vieritysnuolta sekä vierityspalkkia vieritysruudun ja nuolen väliltä, huomaat selvän eron vaaka- ja pystyvierityspalkkien vieritysmäärässä. Laitteen vieritysaseman selvittäminen GetScrollPosition() palauttaa vieritysaseman loogisissa yksiköissä. Tästä syystä nämä yksiköt riippuvat asetetusta koordinaatiston kohdistustavasta. Jos haluat vieritysaseman aina laiteyksikköinä (kuvapisteinä), joudut käyttämään GetDeviceScrollPosition()- funktiota. Funktiot palauttavat saman arvon MM_TEXTkondistustapaa käytettäessä. Vieritysaseman käyttäminen Usein on hyödyllistä tietää, mikä osa näytöstä on sillä hetkellä esillä ja mikä on sen sijainti koko kuvassa. Entä, jos esimerkiksi haluaisit piirtää ristikon kuvan keskelle? Voisitko käyttää aikaisempaan tapaan GetClientRect()-funktiota ja sitten CRectin CenterPoint()- jäsenfunktiota? Tämä toimisi ainoastaan, jos ikkunasi olisi aivan näkymän vasemmassa yläkulmassa. Jos vierityspalkit olisi asetettu näkymän keskelle, olisi työalue (client rect) yhä vasemmassa yläkulmassa samoin kuin mahdollisesti piirrettävä ristikkokin. Saat vieritysnäkymän GetScrollPosition()-funktiolla selville näytettävän ikkunan osan paikan koko näkymästä ja tämän tuloksen perusteella saadaan ikkunan näkyvän osan keskipiste laskettua työ-
19 Näkymien vierittäminen ja koon muuttaminen alueen CenterPoint()-funktiolla ja siihen piirrettyä. Voit nyt lisätä OnDraw()-funktioon Ellipse()-kutsun jälkeen listauksessa esitetyn koodin ristikon piirtämiseksi ikkunan näkyvän osan keskelle. LISTAUS LST18_10.CPP Ristikon piirtäminen vieritettyyn paikkaan GetScrollPosition()-funktion avulla OSA V LUKU // Make a CRect 2 CRect rctotal(cpoint(0,0),gettotalsize()); 3 4 // Draw Ellipse 5 pdc->ellipse(rctotal); 6 7 // ** Get Client Rect 8 CRect rcclient; 9 GetClientRect(&rcClient); // ** Get Scroll Pos 12 rcclient += GetScrollPosition(); // ** Find Middle 15 CPoint ptcenter = rcclient.centerpoint(); // ** Top Left to Bottom Right Line 18 pdc->moveto(ptcenter + CPoint(-30,-30)); 19 pdc->lineto(ptcenter + CPoint(+30,+30)); // ** Top Right to Bottom Left Line 22 pdc->moveto(ptcenter + CPoint(+30,-30)); 23 pdc->lineto(ptcenter + CPoint(-30,+30)); // Reselect the old brush 26 pdc->selectobject(poldbrush); 27 } 1 Työalueen RECT-tiedoissa ovat ikkunan näkyvä leveys ja korkeus oikein, mutta tähän arvoon joudutaan lisäämään vielä vierityssiirros, jotta saadaan koordinaatit näkymän suhteen. Listauksessa rivillä 12 rcclient-arvoa kasvatetaan GetScrollPosition()-funktion paluuarvolla; muutoin koodi on varsin tavanomaista. Seuraavaksi lisätään rivin rcclient.centerpoint()-arvo rivien 18 ja 23 MoveTo()- ja LineTo()-funktioiden koordinaatteihin. Saattaa tuntua mutkikkaalta, mutta koodissa on vielä eräs piilossa oleva ongelma, joka estää sitä toimimasta kunnolla. Jos käännät ja ajat ohjelman muutosten tekemisen jälkeen, näet ristikon ikkunassa ja kaikki näyttää toimivan mainiosti. Kuitenkin ikkunaa vieritettäessä ristikko katoaa.
20 434 Määrätyn alueen pakottaminen uudelleen piirrettäväksi Voit asettaa tietyn suorakulmaisen alueen sisällön päivitettäväksi syöttämällä InvalidateRect()-funktiolle suorakulmion koordinaatit ensimmäisenä parametrinä. Vaihtoehtoisesti mutkikkaampia alueita voidaan määrittää InvalidateRgn()-funktiolla, jolloin muoto määritetään ensimmäiseen CRgn-parametriin. Nämä funktiot päivittävät rajaussääntöluetteloa siten, että Windows päivittää vain määritetyt alueet. Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen Ilmiö johtuu rajaamisesta (clipping). Windows yrittää minimoida piirtoon käytetyn työn nopeuttaakseen toimintaa. Kun vierität ikkunaa, Windows luulee, että ainoastaan paljastunut osa ikkunasta tulee piirtää uudelleen ja ainoastaan kapea siivu ikkunan reunasta tulee piirretyksi. Tämä toimii, jos piirrettävänä on vieritettävässä ikkunassa liikkumaton ympyrä, mutta se ei päde ristikkoon. Tästä syystä Windowsia täytyy informoida siitä, että sen piirto-oletus on väärä. Tätä varten Windowsissa on funktioita, joilla voidaan asettaa uudelleen piirrettäväksi osia ikkunasta tai jopa koko ikkunan sisältö. Invalidate()-funktio käskee Windowsia unohtamaan rajaussääntönsä ja päivittämään koko alueen. Joudut siis kutsumaan Invalidate()-funktiota, mutta missä? OnDraw()-funktio kuulostaisi aluksi hyvältä, mutta siitä seuraisi vain pahempaa sotkua. Windows näes otaksuu, että OnDraw() hoitaa piirtämisen ja Invalidate()-funktion kutsu siinä saa kaiken alkamaan taas alusta OnDraw()-funktion sijaan joudut miettimään, mikä saa aikaan tarpeen piirtää uudelleen ja joudut sijoittaman uudelleenpiirtokäskyn sinne. Tilanne syntyy vierityspalkkia siirrettäessä. Tästä syystä vierityssanoma tuleekin käsitellä ja kutsua käsittelijästä Invalidate()-funktiota. Vierityssanomien käsitteleminen Vierityspalkkia käsiteltäessä kutsutaan aina OnScroll()- virtuaalifunktiota. Voit käsitellä ja korvata tämän funktion sisällön omalla koodillasi käsitelläksesi vierityspalkkia sovelluksellesi ominaiseen tapaan. OnScroll()-korvaajafunktion lisääminen 1. Napauta hiiren oikealla painikkeella CScrollView-kantaluokasta perittyä luokkaa (kuten CPanSDIView) projektin työtilaikkunan ClassView-sivulla. Saat esiin pikavalikon. 2. Valitse Add Virtual Function komento valikosta. Saat esiin New Virtual Override for class CPanSDIView ikkunan. 3. Vieritä New Virtual Function luetteloa kunnes löydät OnScroll()-funktion (kuva 18.7). 4. Napauta OnScroll()-funktiota ja Add and Edit painiketta lisätäksesi uuden virtuaalifunktion korvaajan.
21 Näkymien vierittäminen ja koon muuttaminen 5. Lisää oma OnScroll()-sovelluskoodisi (kuten Invalidate()- funktiokutsu //TODO-kommenttien alle listauksen tapaan). OSA V LUKU KUVA 18.7 OnScroll-virtuaalifunktion korvaajan lisääminen New Virtual Override ikkunassa. LISTAUS LST18_11.CPP Uudelleenpiirron pakottaminen Invalidate()-funktiolla näkymää vieritettäessä 1 BOOL CPanSDIView::OnScroll(UINT nscrollcode, UINT npos, BOOL bdoscroll) 2 { // ** Invalidate the whole window 6 Invalidate(); 7 8 return CScrollView::OnScroll(nScrollCode, 9 npos, bdoscroll); 10 } Nyt ristikko-ohjelma on saanut tarpeelliset lisäykset toimiakseen kunnolla. Rivillä 6 Invalidate()-funktio kertoo Windowsille, että ikkunan koko työalue kaipaa uudelleenpiirtämistä. OnDraw()-funktion piirtämistä ei rajata ja näet ristikon näkymää vieritettäessäkin. Voit kääntää ja ajaa sovelluksesi tämän rivin lisäämisen jälkeen; nyt ikkunan vierityksen pitäisi onnistua siten, että ristikko pysyy koko ajan ikkunan keskellä kuvan 18.8 tapaan.
22 436 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen KUVA 18.8 Ristikon uudelleenpiirtäminen näkymää vieritettäessä. Voit halutessasi käsitellä myös yksittäiset vaaka- ja pystyvierityspalkin sanomat ja lisätä niihin oman koodisi tai halutessasi muuttaa arvoja ennen kuin scroll view näkymä päivittää näyttöä niiden perusteella. Tätä varten joudut käsittelemään WM_HSCROLL ja WM_VSCROLL-sanomat vastaavissa käsittelijäfunktioissa (OnHScroll() ja OnVScroll()). OnHScroll()-käsittelijän lisääminen WM_HSCROLLsanomalle 1. Napauta hiiren oikealla painikkeella CScrollView-kantaluokasta perittyä luokkaa (kuten CPanSDIView) projektin työtilaikkunan ClassView-sivulla. Saat taas esiin pikavalikon. 2. Valitse Add Windows Message Handler komento valikosta. Saat esiin New Windows Message and Event Handlers for class CPanSDIView ikkunan. 3. Valitse New Windows Messages/Events luettelosta WM_HSCROLL. 4. Napauta Add and Edit painiketta lisätäksesi uuden käsittelijän vaakasuuntaiselle vierityssanomalle. Nyt editorin ikkunassa pitäisi olla WM_HSCROLL-sanoman käsittelevä OnHScroll()-funktio. Tämä sanoma lähetetään sovellukselle, kun sen vaakasuoraa vierityspalkkia liikutetaan. Aivan vastaavaa käsittelijää OnVScroll() kutsutaan (WM_VSCROLL-sanomasta) pystysuoraa vierityspalkkia liikutettaessa.
23 Näkymien vierittäminen ja koon muuttaminen Listauksessa esitetyn OnHScroll()-käsittelijän rivillä 6 vierityspalkin palauttama asema muutetaan käänteiseksi ennen sen palauttamista vieritysnäkymään. LISTAUS LST18_12.CPP Vierityspalkin aseman muuttaminen käänteiseksi OnHScroll()-käsittelijässä OSA V LUKU void CPanSDIView::OnHScroll(UINT nsbcode, UINT npos, CScrollBar* pscrollbar) 2 { 3 // TODO: Add your message -handler code here 4 5 // ** Reverse view position 6 npos = GetScrollLimit(SB_HORZ) - npos; CScrollView::OnHScroll(nSBCode, npos, pscrollbar); 9 } 1 Muuttamalla hpospaikkatietoa ennen kantaluokan OnHScroll()-käsittelijän kutsua arvo muutetaan käänteiseksi. Rivillä 6 käytetty GetScrollLimits()-funktio hakee SB_HORZ-lipun perusteella vaakasuoran vierityspalkin suurimman arvon. Kun vähennät nykyisen arvon suurimmasta mahdollisesta, muuttuu vaakasuoran vierityspalkin liike vastakkaiseksi. Tämä muutettu npos-arvo syötetään sitten rivillä 8 scroll view näkymän OnHScroll()-perustoteutukselle, joka käsittelee vierityssanoman aivan kuin mitään ei olisi tapahtunutkaan. Nyt vaakasuora vierityspalkki kuitenkin toimii täsmälleen odotuksien vastaisesti. Käännä ja aja ohjelmasi muutosten tekemisen jälkeen ja kokeile vaakasuoran vierityspalkin outoa toimintaa. Pystysuora vierityspalkki toimii yhä normaalisti (voit toki muuttaa tämänkin käsittelemällä WM_VSCROLL-sanoman).
24 438 Kehittyneet dokumentti/näkymä-tekniikat Näkymien vierittäminen ja koon muuttaminen
Usean näkymän luominen
OSA V 471 LUKU 20 20 LUKU Dynaamisten ja staattisten jakajaikkunoiden käyttö Resurssienhallinnan kaltaisen käyttöliittymän tekeminen sovelluksiin ja hallinta ilman ikkunan jakamista 472 Kehittyneet dokumentti/näkymä
LisätiedotHiirisanomiin vastaaminen
OSA II LUKU 8 163 8 LUKU Reagointi käyttäjän painaessa tai vapauttaessa hiiren painikkeen Omien funktioiden käyttö, kun hiiri liikkuu Hiirikoordinaattien käsittely ja valitun alueen tutkiminen 164 Näppäinpainallusten
LisätiedotTekstikontrollit LUKU. Tekstin ja sanomien esittäminen valintaikkunoissa. Tekstin muokkaaminen suorituksen aikana. Tiedon tarkistaminen syötön aikana
OSA II LUKU 5 85 5 LUKU Tekstin ja sanomien esittäminen valintaikkunoissa Tekstin muokkaaminen suorituksen aikana Tiedon tarkistaminen syötön aikana Kontrollien toiminnan laajentaminen aliluokkien avulla
LisätiedotMDI-sovellusten kehittäminen
OSA V 491 LUKU 21 21 LUKU MDI-sovelluksen luominen Siirtyminen dokumentti, näkymä- ja kehysluokan välillä Sovelluksen kehittäminen MFC;n monidokumentti/näkymä-arkkitehtuurilla 492 Kehittyneet dokumentti/näkymä-tekniikat
LisätiedotVisual C++ -ohjelman tekeminen ja suunnittelu
Visual C++ -ohjelman tekeminen ja suunnittelu OSA I LUKU 1 5 1 LUKU Visual C++ -ohjelman tekeminen ja suunnittelu Windows sovellusten tekeminen AppWizardilla Sovelluksen muokkaaminen resurssieditorilla
LisätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
LisätiedotKynien ja siveltimien käyttö
OSA IV 359 LUKU 16 16 LUKU Eri tyylisten viivojen ja muotojen piirtäminen kynillä Kuvioiden täyttäminen eri värein ja pintakuvioin siveltimellä Piirtofunktioiden hyödyntäminen mutkikkaiden muotojen piirtämiseen
LisätiedotPiirtopinnalle piirtäminen
OSA IV 333 LUKU 15 15 LUKU Erilaiset piirtopinnat ja niiden käyttö Piirtotilan ja piirtopinnan asetukset ja käyttö Koordinaatistojen kohdistustapojen käyttö piirrettäessä tuumina tai sentteinä 334 Piirtopintatietorakenteet
LisätiedotKehitysympäristö LUKU. Developer Studio kehitysympäristön alkeet. Liikkuminen projektin työtilassa ja sen eri näkymissä
OSA I LUKU 2 23 2 LUKU Developer Studio kehitysympäristön alkeet Liikkuminen projektin työtilassa ja sen eri näkymissä Projektien hallinnan vaatimat asetukset 24 Developer Studio - ympäristön räätälöinti
LisätiedotOpenOffice.org Impress 3.1.0
OpenOffice.org Impress 3.1.0 Sisällysluettelo 1 Esityksen luominen...1 2 Dian rakenne...2 3 Dian lisääminen, poistaminen, siirtäminen ja kopioiminen...3 4 Diojen koon muuttaminen...3 5 Pohjatyylisivut...4
LisätiedotActiveX-kontrollien käyttö
OSA II LUKU 9 181 9 LUKU Kehittyneiden ActiveX-kontrollien lisääminen projektiisi Kontrollin ominaisuuksien ja tyylien muokkaaminen Kontrollista saadun tiedon hyödyntäminen ohjelmassa 182 ActiveX-kontrollit
LisätiedotTulostaminen ja esikatselu
OSA V 521 LUKU 22 22 LUKU Tulostamisen ja esikatselu toteuttaminen vakiosovellusrunkoa räätälöimällä Monisivuisten raporttien toteuttaminen Eri sivusuhteiden ja laitteiden mittojen käsitteleminen Tulostaminen
LisätiedotLIITE 1 1. Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa.
LIITE 1 1 HARJOITUS 1 Kitara Tehtävänä on mallintaa kitara ohjeiden mukaan käyttäen Edit Poly-tekniikkaa. Käsiteltävät asiat Edit Poly Muokkaus kuvan mukaan TurboSmooth Extrude 1. Tarkistetaan että mittayksiköt
LisätiedotValintaikkunoiden luonti ja suunnittelu
OSA II LUKU 3 43 3 LUKU Valintaikkunoiden luonti ja suunnittelu Valmiin valintaikkunan muokkaaminen ja uuden valintaikkunapohjan luominen Valintaikkunoiden ja kontrollien ominaisuuksien asettaminen Kontrollien
LisätiedotLuettelo-, puu-, parannetun tekstiruutu- sekä HTML-näkymän käyttö
Luettelo-, puu-, parannetun tekstiruutu- sekä HTML-näkymän käyttö OSA V 439 LUKU 19 19 LUKU Luettelo-, puu-, parannetun tekstiruutu- sekä HTML-näkymän käyttö Luettelon tietojen ylläpito List View näkymässä
LisätiedotFonttien käyttö LUKU. Tekstin esittäminen värein ja tyylein. Fonttien käyttö sovelluksen viimeistelyyn OSA IV LUKU 17.
OSA IV 389 LUKU 17 17 LUKU Tekstin esittäminen värein ja tyylein sovelluksen viimeistelyyn 390 Grafiikan piirtäminen William Caxtonin keksittyä painetun sanomalehden olemme olleet pääsemättömissä painotuotteista.
LisätiedotValintanauhan komennot Valintanauhan kussakin välilehdessä on ryhmiä ja kussakin ryhmässä on toisiinsa liittyviä komentoja.
Pikaopas Microsoft Excel 2013 näyttää erilaiselta kuin aiemmat versiot. Tämän oppaan avulla pääset alkuun nopeasti ja saat yleiskuvan uusista ominaisuuksista. Komentojen lisääminen pikatyökaluriville Pidä
LisätiedotHELIA 1 (1) Outi Virkki Käyttöliittymät ja ohjelmiston suunnittelu :04
HELIA 1 (1) Luento 7 Graafisen käyttöliittymän peruselementit... 2 Ikkunat... 2 Sovellusikkunat (Application Windows)... 2 Asiakirjaikkunat (Document Windows)... 3 Toissijaiset sovellusikkunat (Secondary
LisätiedotTaulukot. 2002 Päivi Vartiainen 1
Taulukot Taulukon lisääminen FrontPagessa tapahtuu samalla tavoin kuin Word tekstinkäsittelyohjelmassakin. Valitse vakiotyökaluriviltä Lisää taulukko painike. Kun olet napsauttanut painikkeen alas voit
LisätiedotDokumentit, näkymät ja kehykset
OSA III 249 LUKU 12 12 LUKU Single document interface sovelluksen luominen MFC:n dokumentti-näkymä rakennetta hyödyntävän sovelluksen kehittäminen Dokumentti-, näkymä-, kehys- ja dokumenttimalliluokat
LisätiedotTAULUKKO, KAAVIO, SMARTART-KUVIOT
PowerPoint 2013 Taulukko, kaaviot, SmartArt-kuviot Sisällysluettelo TAULUKKO, KAAVIO, SMARTART-KUVIOT TAULUKOT... 1 Taulukon muotoileminen... 1 Taulukon koon muuttaminen... 2 Rivien valitseminen... 2 Sarakkeiden
LisätiedotTIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ
TIETOKONEEN ASETUKSILLA PARANNAT KÄYTETTÄVYYTTÄ Windows XP-käyttöjärjestelmän asetuksilla sekä Word-asetuksilla voit vaikuttaa tietokoneen näytön ulkoasuun, selkeyteen ja helppokäyttöisyyteen.. 1) ASETUKSET
LisätiedotGeoGebra-harjoituksia malu-opettajille
GeoGebra-harjoituksia malu-opettajille 1. Ohjelman kielen vaihtaminen Mikäli ohjelma ei syystä tai toisesta avaudu toivomallasi kielellä, voit vaihtaa ohjelman käyttöliittymän kielen seuraavasti: 2. Fonttikoon
LisätiedotMuuttujien määrittely
Tarja Heikkilä Muuttujien määrittely Määrittele muuttujat SPSS-ohjelmaan lomakkeen kysymyksistä. Harjoitusta varten lomakkeeseen on muokattu kysymyksiä kahdesta opiskelijoiden tekemästä Joupiskan rinneravintolaa
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti
LisätiedotTAULUKOINTI. Word Taulukot
Word 2013 Taulukot TAULUKOINTI TAULUKOINTI... 1 Taulukon tekeminen... 1 Solusta toiseen siirtyminen... 1 Solun tyhjentäminen... 2 Taulukon Layout (Asettelu) välilehti... 2 Alueiden valitseminen taulukossa...
LisätiedotAvaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto
Condess ratamestariohjelman käyttö Aloitus ja alkumäärittelyt Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto Kun kysytään kilpailun nimeä, syötä kuvaava nimi. Samaa nimeä käytetään oletuksena
LisätiedotMukavia kokeiluja ClassPad 330 -laskimella
Mukavia kokeiluja ClassPad 330 -laskimella Tervetuloa tutustumaan Casio ClassPad laskimeen! Jos laskin ei ole yksin omassa käytössäsi, on hyvä tyhjentää aluksi muistit ja näytöt valikosta Edit->Clear All
Lisätiedot2020 Fusion. What s New in Version 6? What s New in Version 6? 1 of Fusion
2020 Fusion What s New in Version 6? What s New in Version 6? 1 of 17 2020 Fusion Uusi 2020 Fusion 6 nopeuttaa ja helpottaa työskentelyäsi: Täysin uudistettu renderöinti Useiden tuotteiden muokkaus samalla
LisätiedotTilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa
1(6) Tilastokeskuksen rajapintapalveluiden käyttöönotto ArcGISohjelmistossa Ohjeita laatiessa on käytetty ArcGIS:n versiota 10.1. Koordinaattijärjestelmä ArcGIS käyttää oletuskoordinaattijärjestelmänä
LisätiedotKäsiteltävät asiat LIITE 3 1. Tehtävänä on mallintaa lipputanko ja siihen lippu ohjeiden mukaan. Cloth. Wind Garment Maker
LIITE 3 1 HARJOITUS 3 Cloth Tehtävänä on mallintaa lipputanko ja siihen lippu ohjeiden mukaan. Käsiteltävät asiat Cloth Wind Garment Maker 1. Tarkistetaan että mittayksiköt ovat Generics Units, valikosta
LisätiedotKäyttöliittymän muokkaus
Käyttöliittymän muokkaus Ohjelman pitkän kehityshistorian takia asetukset ovat jakaantuneet useampaan eri kohtaan ohjelmassa. Ohessa yhteenveto nykyisistä asetuksista (versio 6.4.1, 2/2018). Ylä- ja sivupalkkien
LisätiedotKäyttöopas RoofCon Viewer
Käyttöopas RoofCon Viewer Sisällysluettelo Käyttöopas RoofCon Viewer... 1 Sisällysluettelo... 2 Asennus... 3 Merkitse objekti... 3 Zoomaa... 3 Mittaa etäisyys... 3 Työkaluvalikko ja Piirustusvaihtoehdot...
LisätiedotOhje internetkarttapalveluun
Ohje internetkarttapalveluun Kartalla liikkuminen Liiku kartalla käyttäen hiirtä, karttaikkunan zoomauspainikkeita tai pikavalikkotoimintoja. 1. Näkymän liikuttaminen: Liikuta karttaa hiirellä raahaamalla.
LisätiedotFrontPage 2000 - Näkymät
FrontPage 2000 - Näkymät FrontPagessa on kuusi erilaista näkymää sivustoon. Sivunäkymä Tässä näkymässä luodaan sivut eli näkymä vastaa paljolti Wordin tekstinkäsittelyohjelman näkymää. Tässä on myös muokattava
Lisätiedot1 Funktiot, suurin (max), pienin (min) ja keskiarvo
1 Funktiot, suurin (max), pienin (min) ja keskiarvo 1. Avaa uusi työkirja 2. Tallenna työkirja nimellä perusfunktiot. 3. Kirjoita seuraava taulukko 4. Muista taulukon kirjoitusjärjestys - Ensin kirjoitetaan
LisätiedotEdistymis-, vieritys- ja liukupalkit sekä päiväys/aika -kontrollit
Edistymis-, vieritys- ja liukupalkit sekä päiväys/aika -kontrollit OSA II LUKU 7 131 7 LUKU Edistymis-, vieritys- ja liukupalkit sekä päiväys/aika -kontrollit Edistymispalkin käyttö näyttämään pitkien
LisätiedotAdobe Photoshop Elements, kuvakäsittelyn perusteet
Sivu 1 / 8 Adobe Photoshop Elements, kuvakäsittelyn perusteet Lyhyesti Tämän oppaan avulla voit - kääntää kuvan - valita kuvasta vain tietyn alueen ja poistaa kuvasta muut (eng. crop, suom. rajaus) - muuttaa
LisätiedotPosterin teko MS Publisherilla
Posterin teko MS Publisherilla Ensimmäisenä avaa MS Publisher 2010. Löydät sen Windows valikosta - All programs - Microsoft Office. Publisheriin avautuu allaolevan kuvan mukainen näkymä. Mikäli et näe
LisätiedotBlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä
Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin
LisätiedotHarjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
LisätiedotOHJE EXCEL-MAKRON LUOMISEKSI JA MAKRON KÄYTÖSTÄ
OHJE EXCEL-MAKRON LUOMISEKSI JA MAKRON KÄYTÖSTÄ Tässä ohjeessa esitetään kuinka Excel-taulukkolaskentaan luodaan makro ja annetaan muutama vinkki makron käyttöön. Ohje koostuu seuraavasti: 1. Mikä makro
LisätiedotAUTOCAD-TULOSTUSOHJE. Tällä ohjeella selitetään Autocadin mittakaavatulostuksen perusasiat (mallin mittayksikkönä millimetrit)
AUTOCAD-TULOSTUSOHJE Tällä ohjeella selitetään Autocadin mittakaavatulostuksen perusasiat (mallin mittayksikkönä millimetrit) 1. MODEL VS. LAYOUT Autocadista löytyy vasemmasta alakulmasta automaattisesti
LisätiedotSen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat
Microsoft Office 2010 löytyy tietokoneen käynnistävalikosta aivan kuin kaikki muutkin tietokoneelle asennetut ohjelmat. Microsoft kansion sisältä löytyy toimisto-ohjelmistopakettiin kuuluvat eri ohjelmat,
LisätiedotSovelluksen toimintojen toteuttaminen
161 L U K U 5 Sovelluksen toimintojen toteuttaminen Oppitunti 1: Dialogien käyttäminen 162 Oppitunti 2: Sovelluksen tietojen näyttäminen ja tulostaminen 183 Oppitunti 3: Useiden säikeiden käyttäminen 197
LisätiedotOutlook Web App ver 1.2
Outlook Web App ver 1.2 Kirjautuminen Kirjoita selaimen osoiteriville: o365.edu.hel.fi Kirjoita opetuksen verkon tunnuksesi ja salasanasi avautuvalla kirjautumissivulla. Hetken odottelun jälkeen esiin
LisätiedotRacket ohjelmointia II. Tiina Partanen 2015
Racket ohjelmointia II Tiina Partanen 2015 Sisältö 1) Peli I Yksinkertainen peli, jossa kerätään kohteita ja väistellään vaaroja Pitkälle viety koodi, johon täydennetään vain puuttuvat palat Ei tarvita
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma
LisätiedotKESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN
KESKUSTANUORTEN NETTISIVUT- OHJEITA PIIRIYLLÄPITÄJÄLLE 1. KIRJAUTUMINEN -Mene osoitteeseen keskustanuoret.fi/user - Kirjoita saamasi käyttäjätunnus ja salasana - Klikkaa yllä olevaa piirisi logoa niin
LisätiedotJohdanto: Jaetut näytöt Jaetun näytön asetukset ja näytöstä poistuminen Aktiivisen sovelluksen valitseminen
Kappale 14: Jaetut näytöt 14 Johdanto: Jaetut näytöt... 232 Jaetun näytön asetukset ja näytöstä poistuminen... 233 Aktiivisen sovelluksen valitseminen... 235 TI-89 / TI-92 Plus:ssä voit jakaa näytön ja
LisätiedotJypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen ==================HUOM!!!================== SISÄLLÖN TUOMINEN VISUAL STUDIOON ON MUUTTUNUT Uudet ajantasalla olevat ohjeet löytyvät timistä:?https://tim.jyu.fi/view/kurssit/tie/ohj1/tyokalut/sisallon-tuominen-peliin
LisätiedotVesa Ollikainen, päivitys Juha Haataja 3.8.2010
METROPOLIA Tekstinkäsittely1 Peruskäyttö Vesa Ollikainen, päivitys Juha Haataja 3.8.2010 Tavoitteet ja sisältö Tavoite Lyhyen asiakirjan kirjoitustaito Word-tekstinkäsittelyohjelmalla Sisältö Tekstinkäsittelyohjelman
LisätiedotQT tyylit. Juha Järvensivu 2008
QT tyylit Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisällys QStyle Style sheet Tyyli (QStyle) Kapseloi widgettien Look And Feel ominaisuudet Toteutettu QT:ssa QStyle luokkaan Sisäänrakennettuja tyylejä
LisätiedotPeilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka
LisätiedotVisma Fivaldi -käsikirja MiniCRM
Visma Fivaldi -käsikirja MiniCRM 2 Sisällys 1 Yleistä... 3 2 Ylävalikko... 4 3 Perustiedot - välilehti... 5 4 Tila (vapaassa tekstikentässä edellisellä sivulla annettu nimi) - välilehti... 6 5 Vasemman
LisätiedotWord 2010 Pikaopas Hannu Matikainen Päivitetty: 14.4.2012
Word 2010 Pikaopas Hannu Matikainen Päivitetty: 14.4.2012 1(5) Ohjelmaikkunan osat Valintanauhan tärkeimmät välilehdet ovat Tiedosto, Aloitus, Lisää ja Sivun asettelu. Kuvassa näkyy Aloitus-välilehti.
LisätiedotTranskribuksen pikaopas
Transkribuksen pikaopas Transkribus on alusta, jolla voi puhtaaksikirjoittaa haluamaansa aineistoa ja automaattisesti tunnistaa käsinkirjoitettua tekstiä. Sitä käyttääkseen täytyy rekisteröityä. Tässä
LisätiedotHARJOITUSTYÖ ITKP101 Ronja Saarinen
HARJOITUSTYÖ ITKP101 Ronja Saarinen ITKP101-Harjoitustyö Ronja Saarinen ronjaemmiwilhelmiina@gmail.com Asiakirjamalli Asiakirjamalli (engl. Template) tarkoittaa valmista asiakirjapohjaa, josta löytyvät
LisätiedotMicrostation 3D laitesuunnittelu 2014
Microstation 3D laitesuunnittelu 2014 Uusi tiedosto Element Templates Graphic Groups Piirustus, Project Explorer Piirustuksen kuvannot Piirustusarkki 5/16/2014 1 Uusi tiedosto Siementiedostona voi käyttää
LisätiedotWCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8)
WCONDES OHJEET ITÄRASTEILLE (tehty Condes versiolle 8) 1 UUDEN KILPAILUTIEDOSTON AVAUS Avaa Wcondes ohjelma tuplaklikkaamalla wcondes.lnk ikonia. Ohjelma avaa automaattisesti viimeksi tallennetun kilpailutiedoston.
LisätiedotMainosankkuri.fi-palvelun käyttöohjeita
Mainosankkuri.fi-palvelun käyttöohjeita Sisällys 1. Johdanto... 1 2. Sisäänkirjautuminen... 1 3. Palvelussa navigointi... 2 4. Laitteet... 2 5. Sisällönhallinta... 4 6. Soittolistat... 7 7. Aikataulut...
Lisätiedot9. Kappale -ryhmä - Kappalemuotoilut
9. Kappale -ryhmä - Kappalemuotoilut Aloitus -välilehdellä Kappale -ryhmästä löytyvät kaikki kappalemuotoilut. Huomaa, että kappalemuotoilut ovat aina voimassa seuraavaan kappalemerkkiin asti. Kappalemerkki
LisätiedotVesa Ollikainen, päivitys Juha Haataja 12.8.2011
METROPOLIA Tekstinkäsittely1 Peruskäyttö Vesa Ollikainen, päivitys Juha Haataja 12.8.2011 Sisällys 1 Tekstinkäsittelyohjelma... 1 2 Tekstinkäsittelyprosessi... 2 3 Word-tekstinkäsittelyohjelman käyttöliittymä...
LisätiedotKAPPALEMUOTOILUT. Word Kappalemuotoilut
Word 2013 Kappalemuotoilut KAPPALEMUOTOILUT KAPPALEMUOTOILUT... 1 Tekstin tasaaminen... 1 Sisentäminen... 1 Koko kappaleen sisentäminen... 2 Sisennyksen poistaminen... 2 Riippuva sisennys (sivuotsikko)...
LisätiedotWindows 10 -käyttöohje
Windows 10 -käyttöohje Sisällys 1. Aloitus 3 1.1. Painikkeet 3 1.2. Haku 4 1.3. Aloitusvalikko ja ohjelmien kiinnitys 4 1.4. Tämä tietokone 5 1.5. Resurssienhallinta 5 2. Asetukset ja mukautus 6 2.1. Windowsin
LisätiedotASCII-taidetta. Intro: Python
Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.
LisätiedotTilastolliset ohjelmistot 805340A. Pinja Pikkuhookana
Tilastolliset ohjelmistot 805340A Pinja Pikkuhookana Sisältö 1 SPSS 1.1 Yleistä 1.2 Aineiston syöttäminen 1.3 Aineistoon tutustuminen 1.4 Kuvien piirtäminen 1.5 Kuvien muokkaaminen 1.6 Aineistojen muokkaaminen
LisätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat
LisätiedotAsiakastukiryhmä Kesä- ja talviaika
Asiakastukiryhmä Kesä- ja talviaika Seppo Takkula Ohjelmistoversio Päiväys Hlö 1.0 04/04/2002 Seppo Takkula Sisältö 1. TARKOITUS...3 2. OHJEET...3 2.1. CLS....3 2.2. NT Tallennin...5 2.3. Näyttötapahtumien
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 10.10.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.10.2018 1 / 20 Oppimistavoitteet: tämän luennon jälkeen Tiedät, miten ohjelman toimintaa voi tutkia ja ohjelmassa
LisätiedotMICROSOFT EXCEL 2010
1 MICROSOFT EXCEL 2010 Taulukkolaskentaohjelman jatkokurssin tärkeitä asioita 2 Taulukkolaskentaohjelmalla voit Käyttää tietokonetta ruutupaperin ja taskulaskimen korvaajana Laatia helposti ylläpidettäviä
LisätiedotCEM DT-3353 Pihtimittari
CEM DT-3353 Pihtimittari Sivu 1/5 CEM DT-3353 Pihtimittari Ongelma Mittarin ohjelmisto ilmoittaa NO DATA vaikka tiedonsiirtokaapeli on kytketty tietokoneen ja mittarin välille, mittarissa on virta päällä
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 12.4.2010 T-106.1208 Ohjelmoinnin perusteet Y 12.4.2010 1 / 34 Graafiset käyttöliittymät Tähän asti kirjoitetuissa ohjelmissa on ollut tekstipohjainen käyttöliittymä.
LisätiedotC# Windows ohjelmointi perusopas
Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa
LisätiedotOhje. ipadia käytetään sormella napauttamalla, kaksoisnapsauttamalla, pyyhkäisemällä ja nipistämällä kosketusnäytön
ipadin käyttö 1. Käynnistä ipad oikeassa yläreunassa olevasta painikkeesta. 2. Valitse alareunasta nuoli Avaa. Vedä sormella nuolesta eteenpäin palkin verran eli pyyhkäise. Tietoturva Käyttöön tarvitaan
LisätiedotPikanäppäin Yhdistelmiä. Luku 6 Pikanäppäimet
Luku 6 Pikanäppäimet Pikanäppäimet ovat näppäinyhdistelmiä, jotka mahdollistavt ZoomTextin komennot ilman ZoomTextin käyttäjäliittymän aktivointia. Pikanäppäin komentoja on melkein jokaisella ZoomTextin
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 4.10.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 4.10.2017 1 / 23 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
LisätiedotGoogle-dokumentit. Opetusteknologiakeskus Mediamylly
Google-dokumentit 1 2 3 Yleistä 1.1 Tilin luominen 4 1.2 Docs-päävalikkoon siirtyminen 7 Dokumentit-päävalikko 2.1 Kirjaudu Dokumentteihin 9 2.2 Lähetä tiedosto Google-dokumentteihin 11 2.3 Uuden asiakirjan
LisätiedotKUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA
KUVAN TUOMINEN, MUOKKAAMINEN, KOON MUUTTAMINEN JA TALLENTAMINEN PAINTISSA SISÄLLYS 1. KUVAN TUOMINEN PAINTIIN...1 1.1. TALLENNETUN KUVAN HAKEMINEN...1 1.2. KUVAN KOPIOIMINEN JA LIITTÄMINEN...1 1.1. PRINT
LisätiedotCSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia.
CSS1 CSS (Cascading Style Sheets) CSS-kielen avulla määritellään HTML-dokumentin tyyli. CSS avulla voidaan tarkemmin määritellä eri elementtien ominaisuuksia. Esim.
LisätiedotMuutamia peruskäsitteitä
Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä
LisätiedotCABAS. Release Notes 5.4. Uusi kuvien ja dokumenttien käsittely
Release Notes 5.4 CABAS Uusi kuvien ja dokumenttien käsittely Olemme päivittäneet ja nykyaikaistaneet CABASin kuvien ja dokumenttien käsittelyn. Nyt kuvia voi vetää hiiren osoittimella ja pudottaa ne kuvaluetteloon.
LisätiedotISIS Draw (Windows versio 2.5)
1 ISIS Draw (Windows versio 2.5) ISIS Draw on helppokäyttöinen kemian piirto-ohjelma, jolla voidaan muun muassa piirtää kemiallisia rakenteita, reaktioyhtälöitä ja yksinkertaisia proteiinirakenteita. Lisäksi
LisätiedotAjokorttimoduuli Moduuli 2. - Laitteenkäyttö ja tiedonhallinta. Harjoitus 1
Ajokorttimoduuli Moduuli 2 - Laitteenkäyttö ja tiedonhallinta Harjoitus 1 Tämän harjoituksen avulla opit alustamaan levykkeesi (voit käyttää levykkeen sijasta myös USBmuistitikkua). Harjoitus tehdään Resurssienhallinnassa.
LisätiedotTYYLIT. Word Tyylit
Word 2013 Tyylit TYYLIT TYYLIT... 1 Pikatyylien käyttäminen... 1 Tyylimuotoilun poistaminen... 2 Tyylin muokkaaminen... 2 Uuden tyylin luominen muotoillusta tekstistä... 2 Uuden tyylin luominen valintataulussa...
LisätiedotTietokantojen ja tietuenäkymien käyttö
Tietokantojen ja tietuenäkymien käyttö OSA VI 579 LUKU 24 24 LUKU Tietokantojen ja tietuenäkymien käyttö ODBC-tietolähteen määrittäminen Liittyminen tietokantoihin MFC-sovelluksista Tietuejoukkojen kyseleminen
LisätiedotKäsiteltävät asiat LIITE 2 1. Tehtävänä on mallintaa keilarata ohjeiden mukaan. MassFX Boolean Lathe
LIITE 2 1 HARJOITUS 2 Keilarata Tehtävänä on mallintaa keilarata ohjeiden mukaan. Käsiteltävät asiat MassFX Boolean Lathe 1. Tarkistetaan että mittayksiköt ovat Generics Units, valikosta Customize/Units
LisätiedotOffice 365 palvelujen käyttöohje Sisällys
Office 365 palvelujen käyttöohje Sisällys Sisäänkirjautuminen... 2 Office 365:n käyttöliittymä... 3 Salasanan vaihto... 5 Outlook-sähköpostin käyttö... 7 Outlook-kalenterin käyttö... 10 OneDriven käyttö...
LisätiedotH5P-työkalut Moodlessa
H5P-työkalut Moodlessa 1. H5P-työkalujen käyttöönotto Moodlessa Tampereen yliopisto/tietohallinto 2017 Emma Hanhiniemi 1. Klikkaa Moodlen muokkausnäkymässä Lisää aktiviteetti tai aineisto -linkkiä. 2.
Lisätiedot6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.)
6. Tekstin muokkaaminen 6.1 Tekstialueiden valinta eli maalaaminen (tulee tehdä ennen jokaista muokkausta ym.) Tekstin maalaaminen onnistuu vetämällä hiirellä haluamansa tekstialueen yli (eli osoita hiiren
LisätiedotJAKELUPISTE KÄYTTÖOHJE 2/6
käyttöohjeet JAKELUPISTE KÄYTTÖOHJE 2/6 1. Esittely JakeluPiste on helppo ja yksinkertainen ratkaisu tiedostojen lähettämiseen ja vastaanottamiseen. Olipa kyseessä tärkeä word dokumentti tai kokonainen
LisätiedotOppilaan pikaopas. Project 2013 käyttöliittymä ja näkymät
1 Oppilaan pikaopas Project 2013 käyttöliittymä ja näkymät Kun avaat Project 2013 -ohjelman, näet ensimmäisenä pelkistetyn näkymän. Uusi Project 2013 voi auttaa projektinhallinnassa kuten esim. projektitietojen
LisätiedotHaaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:
Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Microsoft SQL käyttö Yleistä VisualStudiosta Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen: - sovellushallintaan -
LisätiedotJohdatus Rhinoon 1 / 17. Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto
1 / 17 Digitaalisen arkkitehtuurin yksikkö Aalto-yliopisto 27.10.2015 Johdatus Rhinoon Työkalujen löytäminen 2 / 17 1. 1. Komentorivi Jos tietää komennon nimen (tai sen alun), voi kirjoittaa sen komentoriville
LisätiedotWeb Services tietokantaohjelmoinnin perusteet
ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...
LisätiedotTyövälineohjelmistot KSAO Liiketalous 1
KSAO Liiketalous 1 Osat Tiedosto voidaan jakaa osiin ja jokainen osa muotoilla erikseen. Osa voi olla miten pitkä tahansa, yhdestä kappaleesta kokonaiseen tiedostoon. Osanvaihto näkyy näytöllä vaakasuorana
LisätiedotSummamuuttujat, aineiston pilkkominen ja osa-aineiston poiminta 1
Summamuuttujat, aineiston pilkkominen ja osa-aineiston poiminta 1 Summamuuttujat, aineiston pilkkominen ja osa-aineiston poiminta I Summamuuttujien muodostus Olemassa olevista muuttujista voidaan laskea
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
LisätiedotCondes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 7. Quick Start - opas Condes 7. olfellows www.olfellows.net 1.
Condes Suunnistuksen ratamestariohjelmisto Versio 7 Quick Start opas Yhteystiedot: olfellows Jouni Laaksonen Poijukuja 4 21120 RAISIO jouni.laaksonen@olfellows.net www.olfellows.net olfellows www.olfellows.net
LisätiedotSkype for Business ohjelman asennus- ja käyttöohje Sisällys
Skype for Business ohjelman asennus- ja käyttöohje Sisällys Kirjautuminen Office 365 -palveluun... 2 Skype for Business ohjelman asentaminen... 3 Yhteyshenkilöiden lisääminen Skype for Business ohjelmassa...
Lisätiedot