Windows - Contents
Lukijalle
1. Johdanto
1.1 Graafinen vaiko tekstiliittymä
1.2 Tekstipohjainenkin käyttöliittymä voi olla graafinen
1.3 Mikä on graafinen käyttöliittymä?
1.4 Suunnittelu ja ohjelmointi
2. "Graafinen" MS-DOS -ohjelma
2.1 Yksinkertainen laskin
2.1.1 Yksinkertainen tekstiversio (DOSOHJ\LASKURI.C)
2.1.2 Viestisilmukka (DOSOHJ\LASKURI2.C)
2.1.3 Yksinkertainen moniajo
2.2 Ohjelman parametrisoiminen
2.2.1 "Graafinen versio" (DOSOHJ\LASKURI3.C)
2.3 Hiiren käyttö
2.3.1 Malli hiiren käytöstä (DOSOHJ\HIIRIMAL.C)
2.3.2 Nappuloiden "kirjastoiminen" (DOSOHJ\NAPPULAT.H)
2.3.3 Laskin (DOSOHJ\LASKURIH.C)
2.3.4 Hiiren käyttö laskimessa (DOSOHJ\NAPPULAT.C)
2.4 Nappuloiden ja laskureiden koon muuttaminen
2.4.1 Muutokset päämoduliin (DOSOHJ\LASKURH2.C)
2.4.2 Systeemiviestit (DOSOHJ\NAPPULA2.H)
2.4.3 Muutokset tutki_hiiri -funktioon (DOSOHJ\NAPPULA2.C)
2.5 Taskulaskin (DOSOHJ\LASKUKON.C)
2.6 Yhteensopivuus Windows'in kanssa.
2.6.1 Muutokset päämoduliin (DOSOHJ\LASKUKO3.C)
2.6.2 Muutokset näppain-kirjastoon (DOSOHJ\NAPPULA3.C)
2.7 Windows-versio
2.7.1 Yksinkertainen versio (WINLASKI\DOSVER\NAPPULA3.C)
2.7.2 Siirto ja koon muuttaminen (WINLASKI\DOSVER\NAPPULA4)
2.7.3 Laskuriin Windows-nappulat (WINLASKI\DOSVER\NAPPULAW.C)
3. Yksinkertaiset Windows-ohjelmat
3.1 EasyWin (WHELLO\HELLO.C, WHELLO\EHELLO.C)
3.2 "Hello World" oikeana Windows-versiona
3.2.1 .DEF-tiedosto (WHELLO\WHELLO.DEF)
3.2.2 C-ohjelma (WHELLO\MHELLO.C)
3.2.3 Nimeämisperusteet
3.2.4 Windows pääohjelma (WinMain)
3.2.5 Esiintymän tunnistaminen
3.2.6 Kahvat (HANDLES)
3.2.7 Esiintymä (instance)
3.2.8 Ikkunan luonti
3.2.9 Ikkunan näyttäminen
3.2.10 Ikkunan päivittäminen
3.2.11 Viestisilmukka
3.2.12 Ikkunafunktio (Window Procedure)
3.2.13 Laiteyhteys (Device Context)
3.2.14 Miksi piirtäminen WM_PAINT -viestissä?
3.3 Lisää ohjelman esiintymästä (WHELLO\WHELLO.C)
3.4 Yksinkertainen pohja (WHELLO\SIMPLEW\SIMPLEW.C)
3.4.1 Tekstiä näyttöön (WHELLO\SIMPLEW\SWHELLO.C)
3.5 Piirtäminen (WHELLO\SIMPLEW\DRAW_MAN.C)
3.6 Hiiren viestit (WHELLO\SAMPLEW\SAMPLEW.C)
3.7 Yhteensopivuus 32-bittisen Windowsin kanssa (WIN32,WINDOWSX.H, ALI\PORTABLE.H)
3.8 Usemman viestien käsittely
3.8.1 switch -lauseen laajentaminen
3.8.2 simplet -idean jatkaminen (whello\samplew\samplew.c)
3.8.3 C++ ja ohjelmarungot (Application FrameWork)
3.8.4 Taulukkopohjainen C-käsittely (WHELLO\SIMPLET\SIMPLET.C)
3.8.5 Yleiskäyttöinen taulukkokäsittelijä (ALI\TABHAND.H)
3.9 Animaatio, tyylit ja värit (WHELLO\SIMPLET\SHOW_MAN.C)
3.10 Aikaan perustuvat toiminnot
3.10.1 Ajan pituuden säätö (WHELLO\SIMPLET\TIME_MAN.C)
3.10.2 Ajastimen viestiin vastaaminen
3.11 Piirtämisen ongelmat
3.11.1 Piirtämisen kesto (WHELLO\SIMPLET\KOLMIO.C)
3.11.2 Näytön päivitys (WHELLO\SIMPLET\KOLMIO.C)
3.12 Moniajon mahdollistaminen (ALI\CHECKER.C)
3.12.1 CheckMessage -kutsu (WHELLO\SIMPLET\KOLMIOM.C)
3.12.2 CheckMessage -funktio (ALI\CHECKER.C)
3.12.3 Muutokset ikkunan funktioon
3.12.4 Auttaako Ossi, Unix, Windows 95 tai NT?
4. Resurssien käyttö
4.1 Valmiit ikkunaluokat
4.1.1 Malli valmiiden luokkien käytöstä (WHELLO\THELLO.C)
4.1.2 Monirivinen EDIT-ikkuna (WHELLO\TTHELLO.C)
4.2 Ohjelman oikeellisuuden ja toiminnan tutkiminen
4.2.1 Viestien tutkiminen (WINSIGHT, SPY)
4.2.2 Debuggerit
4.2.3 Muistin käyttö
4.3 Resurssit
4.3.1 Resurssitiedosto (WINLASKI\RESLASK\LASKURIR.RC)
4.3.2 Vakiot (WINLASKI\RESLASK\LASKURIR.H)
4.3.3 Pääohjelma (WINLASKI\RESLASK\LASKURIR.C)
4.3.4 Resurssieditori (Resource Workshop)
4.3.5 Menut mukaan (WINLASKI\TABLASK\MENU2\LASKURIM.RC)
4.3.6 Menujen käyttö (WINLASKI\TABLASK\MENU2\LASKURM2.C)
4.4 Valmiit dialogit ja tiedostojen käsittely
4.4.1 Tiedoston nimi (ALI\FILENAME.C)
4.4.2 Tiedostot (ALI\FILENAME.C)
4.4.3 MessageBox (WINLASKI\TABLASK\MENU2\LASKURM2.C)
4.4.4 Oikeat tiedostot (WINLASKI\TABLASK\MENU3\LASKURM3.C)
4.4.5 .INI tiedostot (WINLASKI\TABLASK\MENU3\LASKURM3.C)
4.5 Leikekirja ja dynaamisen muistin käyttö
4.5.1 Globaalin muistin varaus: Win 3.1
4.5.2 Leikekirjaan talletus (WINLASKI\TABLASK\MENU3\LASKURM3.C, ALI\CLIPBOARD.C)
4.5.3 Leikekirjasta lukeminen
4.6 Bittikartat ja ikonit
4.6.1 Ikonit
4.6.2 Bittikartta taustakuvaksi(ALI\TAUSTA.C)
4.6.3 Bittikartan venytys (WINLASKI\TABLASK\MENU4\KIELI.C)
4.6.4 Liikkuvat bittikuvat (ALI\AUTOTW.C)
4.7 Dialogi pääikkunaksi (WINLASKI\TABLASK\MENU4\LASKURM4.C)
5. Windowsin monipuolisempi ohjelmointi
5.1 Ikkunafunktioiden erot
5.2 Modal-dialogit
5.2.1 Modal-dialogin vaatimat kutsut
5.2.2 Funktio Modal-dialogin tekemiseksi
5.2.3 Ohjelman esiintymän selvittäminen
5.2.4 Modal-dialogin funktio
5.3 Modeless-dialogi
5.3.1 Otettava huomioon viestisilmukassa
5.3.2 Modeless-dialogin vaatimat muut kutsut
5.3.3 Modeless -dialogin ikkunafunktio
5.4 "Tavallinen" ikkuna
5.4.1 "Välittäjä"-funktiot
5.4.2 _export -funktion kutsuminen on vaarallista
5.4.3 Dialogi pääikkunana
5.5 Moni-ikkunainen sovellus
5.5.1 Vaihtaja (MULTIWIN\VAIHTAJA\VAIHTAJA.C)
5.5.2 Useat Modeless-dialogit (ALI\MDIALOG.C)
5.5.3 Combo-boxit ja listat
5.5.4 Ikkunalle itselleen lähetettävät viestit
5.5.5 Arvon muuttaminen heti kun edit-kenttä muuttuu
5.5.6 Autoradio-button
5.5.7 Aktiivisen kentän vaihtaminen
5.6 Eri kielten käyttö samassa ohjelmassa (MULTIWIN\VAIHTAJA\VAIHTAJ3.C, ALI\TRANSDLG.C, ALI\LANGUAGE.C)
5.7 Tulostus
5.7.1 Yksinkertainen tulostus (TULOSTUS\HELLOPRI.C)
5.7.2 Kaistatekniikka (banding)
5.7.3 Resoluutio-ongelmat
5.7.4 Keskeytysongelmat
5.7.5 Tulostuslaitteen vaihtaminen
5.7.6 Tulostuskirjaston käyttö (TULOSTUS\HELLOPR3.C, ALI\TULOSTUS.C)
5.7.7 Aliohjelmakirjasto tulostukseen (ALI\TULOSTUS.C)
5.8 Koordinaatistomuunnokset
5.9 Dynaaminen linkitys (DLL)
5.9.1 Dynaaminen/staattinen kirjasto
5.9.2 Miten tehdään DLL-aliohjelma?
5.9.3 Merkkijonon luku (ALI\STRLIB.C)
5.9.4 Aliohjelmakirjaston .DLL -versio
5.9.5 DLL-kirjaston käyttäminen
5.10 Yleiskäyttöinen optiodialogi (ALI\OPTDLG.C)
6. Windows-opasteiden tekeminen
6.1 Opasteiden suunnittelu
6.1.1 Sisällysluettelo (MULTIWIN\VAIHTAJA\VAIHTAJA.RTF)
6.1.2 Toiminnot
6.1.3 Komennot
6.2 Opasteiden koodaaminen hypertekstiksi
6.2.1 Aiheen otsikon määritteleminen (alaviite $)
6.2.2 Tunnistemerkkijonon määritteleminen (alaviite #)
6.2.3 Avainsanojen määritteleminen (alaviite K)
6.2.4 Selattavan sivun järjestystunnus (alaviite +)
6.2.5 Hypertekstilinkin määritteleminen (yliviivaus)
6.2.6 Tarkennettavien termien määritteleminen (alleviivaus)
6.3 Opastetiedoston kääntäminen (MULTIWIN\VAIHTAJA\VAIHTAJA.HPJ)
6.4 Windows-ohjelmaan tehtävät lisäykset (MULTIWIN\VAIHTAJA\VAIHTAJ3.C)
6.5 Sisältöön pohjautuva avustus (context sensitive help) (ALI\HELP.C)
6.6 Hot Spot -kohtien lisääminen bittikarttoihin
7. Kommunikointi ohjelmien välillä.
7.1 DDE:n Perusteita
7.1.1 Asiakas ja palvelin
7.1.2 Transaktiot ja DDE-funktio
7.1.3 Palvelun nimeäminen
7.2 DDE ohjelmointi
7.2.1 DDE:n alustaminen
7.2.2 DDE-funktio
7.2.3 Merkkijonojen hallinta
7.2.4 Nimipalvelu
7.2.5 Tiedon välittäminen
7.3 Tiedon välittämisen tyylit ja tietoa pyytävät transaktiot
7.3.1 Manuaalinen linkki (manual link, kylmä linkki)
7.3.2 Automaattinen linkki (automatic link, kuuma linkki)
7.3.3 Ilmoituslinkki (notify link, lämmin linkki)
7.3.4 Muut transaktiot
7.3.5 Synkroninen ja asynkroninen tiedonsiirto
7.3.6 Malli tiedonsiirrosta (DDE\MORFCLNT.C ja ALI\MORFO.C)
7.4 Yksinkertaistettu automaattinen linkki
7.4.1 Palvelin (ALI\DDESER.C)
7.4.2 Asiakas (ALI\DDECLI.C)
7.4.3 Malli kirjastojen käytöstä (DDE\AUTOLDDE.C)
7.5 Yleistä OLEsta
7.6 Drag and Drop
7.6.1 DaD palvelin (ALI\DROPFILE.C)
7.6.2 DaD esimerkki (C-ESIM\DAD\DADTEST.C)
7.6.3 DaDSave (WINDOWS\VLWINAPP\DADSAVE)
8. Mitä muita kehitysvälineitä
8.1 Koodigeneraattorit
8.2 Application FrameWorks
8.3 VisualBasic
8.4 Borland Delphi
8.5 Taulukkolaskenta
8.6 Tietokannat
8.7 Hypertekstit
8.8 Visuaalinen ohjelmointi
8.9 Lopuksi
Kirjallisuutta
Windows
C++