Voisiko joku selittää tämän WinApin BitBlt-funktion
tärkeimmät asiat mitä tulisi tietää, ja tekisi mahdollisimman
yksinkertaisen esimerkin sen käytöstä?
Kiitos.
Olisiko tästä apua?
https://www.ohjelmointiputka.net/keskustelu/1599-apua-kuvaongelma-vb
Jep. Varmaan siksi en ole osannut tuota, koska sekoitin nuo lähde ja kohde jutskat.
Miksi FOrm_Loadissa ei voi piirtää Bitblt:llä, tai miksi mulla ei ainakaan näy mitään kun piirrään form_loadissa, mutta jos laitan vaikka command_clickkiin, niin toimii?
Load-tapahtuman aikana formi ei ole vielä näkyvissä, joten sille piirretty tavara menee suoraan roskikseen.
Käske formia näyttäytymään (Show-metodilla) ja piirrä sille vasta sitten.
Form_Load taitaa tapahtua jo ennen kuin se ikkuna piirretään ruudulle. Kokeilepa piirtää jotain commandbuttonia klikatessa ja hinata sitten ikkuna hetkeksi ulos ruudulta, niin sekin piirustus taitaa hävitä (olettaen, että piirrät ikkunaan etkä esim. pictureboxiin). Voithan tietysti laittaa piirtämisen tapahtumaan timerin avulla heti 0,1s Form_Loadin jälkeen.
Jos haluaa noista piirustuksista jossakin määrin pysyviä, ne voi olla hyvä tunkea vaikka johonkin Form_Paint-metodiin.
Olisi hyvä piirtää Form_activate proseduurissa. Silloin formi on jo aktivoitunut.
Voi jehna että oon tyhmä!
Älysin heti kun olin kirjoittanut tuon kommentin mistä on kyse.
Kiitos nyt kuitenkin.
Tämän asian kanssa varmaan jokainen on joskus sohlannut, kuten minäkin. Formi ja PictureBoxi eivät eroa piirto-ominaisuuksiltaan. Load-tapahtumaan koodattu piirto jää näkyviin, jos Blazen vinkin mukaan lataa Formin näkyville ennen piirtoa tai asettamalla Formin (tai PictureBoxin) AutoRedraw = True. Tai sitten Form_Load-tapahtuman sijaan käyttää Form_Activate- tai _Resize-tapahtumaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.