Jos joku osaa ytimekkäästi kertoa miten hdc pitää asettaa (ja mikä se on), kun haluan piirtää pelikortteja (Form1:een), niin olisin kiitollinen. Käytän siis cards.dll:n funktiota cdtDraw. Kyseessä on Visual Basic .NET mutta yleisenkin tason ohjeet ovat tervetulleita. Katsoin sitä ohjetta, joka aiheesta jo on mutta en saanut VB6:lla tehtyä koodia avattua luettavaan muotoon.
- Senior71
hDC on Windowsin grafiikan piirrosta vastaavan GDI-komponentin device context, joka kertoo GDI:lle, mihin komponenttiin ruudulle pitää piirtää.
VB:ssä (ainakin kutosessa) tärkeimmiltä komponenteilta (Form, PictureBox...)löytyy suoraan ominaisuuksista tuo hDC, jolloin sen voi suoraan antaa parametriksi sitä kaipaavalle API:lle.
Olen ihan amatööri, joten en ehkä osaa kysyä oikeita asioita. Joka tapauksessa en löydä esim. Formista tai PictureBoxista hdc:tä tai handlea ollenkaan. Ilmeisesti multa puuttuu jotain oleellisia määrittelyjä, joita tarvitaan grafiikassa.
Kiitos kuitenkin vastauksesta.
- Senior
Nehän saa tyyliin formi.hDC tai piktuuriloota.hDC. Korvaat vain nimet :)
Moi,
löysin sittenkin PictureBoxista handlen. Se se sitten varmaankin on.
- Senior71
Moi,
eipä vieläkään kortin piirtäminen tahdo onnistua. Visuaalisten asioiden tekeminen tuntuu olevan se vaikeimmin hahmottuva asia VB:ssä :-).
Osaako joku kommentoida seuraavaa erroria:
------------------------------------------------------
An unhandled exception of type 'System.NullReferenceException' occurred
Additional information: Object reference not set to an instance of an object.
------------------------------------------------------
Koodirivi, josta errori tulee on:
X = cdtInit(kortin_kork, kortin_lev)
(Disclaimer: En osaa .NETiä)
Minkäs tyyppinen muuttuja tuo X on? Joku objekti? Silloin tuo taitaa tarvia avainsanan Set tuohon (Set x = cdtInit(kirtin_kork, kortin_lev)
Aihe on jo aika vanha, joten et voi enää vastata siihen.