Olen koodannut ActiveX-kontrollin, joka toimii formilla painonappina. Kontrolliin ladataan kolme kuvaa, jonka hoitaa LoadPicture-funktio.
Ongelma on juuri tuon funktion hitaus. Jos formille lisää useamman kontrollin, on kontrollien kuvien latautuminen onnettoman hidasta. Kontrollit latautuvat hitaasti yksi kerrallaan.
Olisiko kuvien lataamista mahdollista helpottaa esimerkiksi WinAPI-funktioilla? Tai voisiko homman mahdollisesti hoitaa niin, että kuvien lataukset puskuroidaan ja tulostetaan koko pötkö sitten kerralla näytölle?
Voit tehdä vaikka niin että tallennat kaikki kuvat samaan kuva tiedostoon ja sitten kopioit tuosta yhdestä suuresta kokonaisuudesta kuvat oikeille paikoilleen bitblt:n avulla.
Kannattaa vilkaista sprite opasta ja kokeilla hakua sanalla bitblt.
Jos et noillakaan vielä onnistu niin voin laittaa koodia tulemaan.
Antti Laaksonen kirjoitti:
Tähän tarkoitukseen sopii aika hyvin PictureClip-kontrolli. Eli valitse valikko Project->Components ja sieltä Microsoft PictureClip Control 6.0.
Lataa kontrolliin haluamasi kuva, ja valitse Rows- ja Cols- arvot sen mukaan, kuinka moneen osaan kuvan haluat, tässä tapauksessa Rows=8 ja Cols=8.
Haluttu kuva löytyy muuttujasta PictureClip1.GraphicCell(kuvan numero). Kuvan numero on tässä tapauksessa väliltä 0-63, 8x8-1.
Aihe on jo aika vanha, joten et voi enää vastata siihen.