Etusivu Aloitus Kontrollit Metodit Muuttujat Ohjausrakenteet Silmukat Matematiikka Debuggaus Virheenkäsittely Vuorovaikutus Valikot Tiedostonkäsittely Ikkunat Leikepöytä Drag and Drop Tiedostopäätteet Linkkejä Harjoitukset
VB -ohjelmoijan kannalta leikepöytä on joukko komentoja ja viestejä joilla voidaan siirtää tietoa leikepöydältä ohjelmaan tai päinvastoin. Leikepöydän tiedot voivat olla useaa eri formaattia ja on ihan ohjelmasta kiinni mitä formaattia ohjelma "osaa lukea".
Ohjelman käyttäjälle leikkauspöydän käyttö on kopiointia, leikkausta ja liitä. Ohjelmoijalla tulee kirjoittaa näihin komentoihin ohjelmakoodi joka tekee tarvittavat siirrot.
Seuraavassa esimerkissä luomme uuden Standard EXE -projektin, johon lisäämme kolme painiketta, Kopioi, Leikkaa ja Liitä. Lisäksi lisäämme ikkunaan tekstilaatikon, jonka tekstiä kopioimme, leikkaamme ja liitämme. Voit kopioida malliohjelman täältä.
Esimerkkiohjelma leikepöydän käytöstä.
Esimerkkiohjelmassamme suoritamme kopioinnin eli asetamme leikepöydälle tekstimuotoista tietoa:
Clipboard.SetText txtTieto.Text, vbCFTextSinun kannattaa tyhjentää leikepöytä Clear -metodilla ennen uuden tiedon laittamista leikepöydälle. Tosin meidän esimerkissämme asetamme vain tekstitietoa, joten haluamme jättää muut tiedot ennalleen. Tilanteesta riippuen kannattaa tyhjentää leikepöytä tai jättää se tyhjentämättä. Kannattaa huomioida myös se, että "vanha" leikepöydän tieto jää "uuden" tiedon alle jos tieto on samaa tyyppiä. Alla olevassa taulukossa on listattu Clipboard -olion metodit ja niiden selitykset:
Komento | Selite |
---|---|
Clear | Tyhjentää leikepöydän |
GetData | Ottaa parametrina määritellyn formaatin mukaisen tiedon leikepöydältä |
GetFormat | Palauttaa totuusarvon kertoen onko parametrina annetun formaatin mukaista tietoa leikepöydällä |
GetText | Palauttaa tekstimuotoista tietoa, palauttaa "" jos leikepöytä on tyhjä. Parametrina annetaan haluttu tekstiformaatti |
SetData | Asettaa parametrina annetun formaatin mukaisen kuvan/tiedon leikepöydälle |
SetText | Asettaa parametrina annetun formaatin mukaista tekstitietoa leikepöydälle |
Alla olevassa taulukossa on esitelty eri formaatit joita GetData -metodille voidaan antaa:
Formaatti | Selite |
---|---|
vbCFBitmap | Bittikarttakuva, BMP -formaatti |
vbCFMetafile | Vektorikuva, WMF (perus) tai EMF (laajennettu) -formaatti |
vbCFDIB | Laitteistoriippumaton bittikarttakuva, DIB -formaatti |
vbCFPalette | Väripaletti |
Alla olevassa taulukossa on esitelty eri formaatit joita GetFormat -metodille voidaan antaa:
Formaatti | Selite |
---|---|
vbCFLink | DDE tieto |
vbCFText | Tekstitieto |
vbCFBitmap | Bittikarttakuva, BMP formaatti |
vbCFMetafile | Vektorikuva, WMF (perus) tai EMF (laajennettu) -formaatti |
vbCFDIB | Laitteistoriippumaton bittikarttakuva, DIB -formaatti |
vbCFPalette | Väripaletti |
Alla olevassa taulukossa on esitelty eri formaatit joita GetText -metodille voidaan antaa:
Formaatti | Selite |
---|---|
vbCFLink | DDE tieto |
vbCFText | Tekstitieto |
vbCFRTF | RTF -muotoinen teksti |
Alla olevassa taulukossa on esitelty eri formaatit joita SetData -metodille voidaan antaa:
Formaatti | Selite |
---|---|
vbCFBitmap | Bittikarttakuva, BMP -formaatti |
vbCFMetafile | Vektorikuva, WMF (perus) tai EMF (laajennettu) -formaatti |
vbCFDIB | Laitteistoriippumaton bittikarttakuva, DIB -formaatti |
vbCFPalette | Väripaletti |
Alla olevassa taulukossa on esitelty eri formaatit joita SetText -metodille voidaan antaa:
Formaatti | Selite |
---|---|
vbCFLink | DDE tieto |
vbCFText | Tekstitieto |
vbCFRTF | RTF -muotoinen teksti |
' Kopioidaan tekstikentän tieto leikepöydälle puhtaana tekstinä. Clipboard.SetText txtTieto.Text, vbCFText ' Koska kyse on leikkaamisesta, täytyy tyhjentää tieto joka leikattiin txtTieto.Text = ""Kuten ehkä huomasit, siirsimme tiedon leikepöydälle ja poistimme sen alkuperäisestä paikasta eli tekstikentästä.
' Otetaan tieto leikepöydältä txtTieto.Text = Clipboard.GetText ' Hienompi tapa 'txtTieto.SelText = Clipboard.GetTextHuomaa, että esimerkkiohjelmassamme teksti kopioidaan vanhan tekstin päälle. "Hienompi" tapa olisi kopioida teksti leikepöydältä valitun tekstin päälle tekstilaatikossa eli käyttää tekstilaatikon SelText -metodia.