Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: hdc Visual Basicissa?

senior71 [23.11.2004 19:11:51]

#

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

Blaze [23.11.2004 19:26:38]

#

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.

senior71 [23.11.2004 19:38:24]

#

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

sooda [23.11.2004 19:50:45]

#

Nehän saa tyyliin formi.hDC tai piktuuriloota.hDC. Korvaat vain nimet :)

senior71 [23.11.2004 19:57:01]

#

Moi,

löysin sittenkin PictureBoxista handlen. Se se sitten varmaankin on.


- Senior71

senior71 [24.11.2004 16:24:14]

#

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)

Blaze [24.11.2004 16:41:24]

#

(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)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta