CREATEBUTTON([teksti],[id-numero],[x],[y],[leveys],[korkeus],[numero1],[numero2],[parent],[väri])

Parametrit

[teksti] on nappiin tuleva otsikko
[id-numero] on napinpainalluksen palauttama numero
[x] on napin oikea reuna
[y] on napin yläreuna
[leveys] on napin leveys
[korkeus] on napin korkeus
[numero1] ja [numero2] määräävät napin fontista ja kuvasta.
[parent] on nappi-ikkunan parent.
[väri] on tekstin väri.

Palautusarvo

Funktio palauttaa ikkunapidikkeen tai nolla jos funktio ei onnistu.

Selitys

CREATEBUTTON() luo painonapin kuvaruutuun.
Nappi on oma ikkunansa, jolle voi lähettää 1027 -numerolla viestin kakkosnappia varten.
Viestillä 1035 voidaan muuttaa napin kokoa (kt. esimerkki).

Esimerkki

vanha=setwindow()
ikku1=winnew("Ikkuna 1",50,10,250,300)
setwindow(ikku1)
createbutton("Printtaa/laske",300,40,5,130,45)
/* Yllä luodaan yksirivinen perusnappi, jolle on annettu sijainti ja mitat.
Kun nappia painetaan ohjelman sisäisiin näppäily funktioihin tallentuu numero 300 */

createbutton("|Esimerkkinappi",301,40,65,130,45,2,1)
/* Yllä tekstiosassa on pystyviiva alussa. Tämä tarkoittaa, että napissa käytetään pientä fonttia.
Parametrit 2 ja 1 kertovat, että nappi on useampirivinen. Rivivaihto voidaan aikaansaana ;-merkillä (kt. seuraava nappi). */

nappi=createbutton("printtaa|&Printtaa/;laske",302,40,125,130,55,2)
/* Yllä tekstiosassa on pystyviiva alussa. Tämä tarkoittaa, että napissa käytetään pientä fonttia ka kuvaa printtaa.bmp.
Parametrit 2 ja 1 kertovat, että nappi on useampirivinen. Rivivaihto voidaan aikaansaana ;-merkillä. Luotavan napin ikkunapidike tallennetaan muuttujaan nappi */

nappi2=createbutton("ok|&OK/;lopeta",302,40,185,130,55,2)
postmes(nappi2,1027,822,0)
/* Yllä luodaan kuvallinen nappi kuten edellä. Lisäksi nappiin lähetetään postmes -funktiolla viesti, että nappia voi klikata hiiren kakkosnapilla, jolloin sisäisiin näppäilyfunktioihin tallentuu esim. tässä numero 822.
Nappiin tulee ylänurkkaan pieni ikoni asiasta */

paina=inkey(0) /* Tässä ohjelma jää odottamaan napin painallusta */
viesti(,,str(paina)) /* Tässä ohjelma näyttää viesti-ikkunassa mikä nappia painettiin */
destroywin(nappi) /* Nappi Printtaa/laske poistetaan */
koko={20,150,110,65} /* Muuttujaan koko tallennetaan {x,y,leveys,korkeus} */
postmes(nappi2,1035,double(koko),0) /* Uusi sijainti ja koko lähetetään napille OK/lopeta */
winupdate(ikku1) /* Ikkunan näymä päivitetään */
paina=inkey(0) /* Tässä ohjelma jää taas odottamaan napin painallusta */
viesti(,,str(paina))
setwindow(vanha)
destroywin(ikku1)

Edellä oleva koodi luo erilaisia nappeja ja jää odottamaan kunnes jotain nappia tai näppäintä painetaan tai ikkuna suljetaan.

button

Kun jotain nappia on painettu ikkuna muuttuu seuraavanlaiseksi. Nappi Printtaa/laske poistetaan ja napin OK/lopeta kokoa ja sijaintia muutetaan.
Ohjelma jää sitten odottamaan uutta napinpainallusta.

button

WINNEW, INKEY(), LASTKEY()