Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: ActiveX controllin ja Form kommunikointi

Sivun loppuun

JoreSoft [04.03.2004 20:56:55]

#

Kuinka saisin ActiveX-kontrollille toimitettua kutsuvan kontrollin parametrit, niin että controlli voi liikuttaa, Formilla olevaa esim picture-kontrollia?
esim muotoa. MovePicture Picture1 , ToX , ToY

Antti [05.03.2004 22:54:46]

#

Tuohon tarkoitukseen varmaankin pitäisi tehdä oma ActiveX. Ei oikeastaan kovinkaan kinkkinen homma. Laitanko sähköpostilla?

JoreSoft [06.03.2004 10:19:38]

#

Laita vaan, en vaan aina osaa hahmottaa noita hDC yms. handeleita!
Olen tekemässa myös, ActiveX-kontrollia, jolla Cards.Dll pelikorttien grafiikka voitaisiin siirtää Picture-kontrolliin. En ole siinä kuitenkaan onnistunut, löydätkö myös siihen apua?

Antti [06.03.2004 19:40:51]

#

Ei varmaankaan mahdoton tehtävä... pitäisi piirtää kortti grafiikat ja asettaa ImageControlliin. Sitten kaksi ominaisuutta: Maa ja Arvo. Näiden yhteisarvon perusteella poimitaan ImageControllista kortti Picture-objektiin joka on kontrollin esityspinta.

Jos lupaat komissiot tämän kontrollin avulla myymistäsi pasiansseista ja muista korttipeleistä voin tehdä sen kontrollin ;)

Joo, sen ohjainkontrollin voin laittaa ihan ilmaiseksi... varmaan tämän illan aikana jos jaksan tehdä sen...

JoreSoft [06.03.2004 21:02:27]

#

Tuo mitä kerroit on tehty jo ...
Löysin ratkaisun, ja se oli yllättävän helppo.

X = cdtDraw(Picture1.hdc, 0, 0, kortti.Index, iDraw, Picture1.BackColor)

Luulin että toi ensimmäinen parametri pitää olla Form.

Tarkoittanet sillä maa/arvo jutulla tätä??

'CardTypepakka (0..52,0), 0=1-13 Lukuarvo. (0..52,1) = 0-3 Maa
Public Type CardType
    Value As Integer 'Arvo
    Suit As Integer  'Maa
    OnOff As Boolean 'Onko akttivinen
    Index As Integer 'Cards32.Dll index
    X As Integer     'Kortin sijainti X
    y As Integer     'kortin sijainti Y
    Joker As Boolean 'Onko kortti jokeri
End Type

Antti [06.03.2004 21:07:54]

#

Joo laitoin sen paketin sulle postiin. Siinä on nyt vähän herkuteltu ja tehty kaikkea kivaa lisäksi. Lue se koodi katso mitä se tekee - se ei ole kovinkaan hankala. Suurin osa rungosta on tuon ActiveX Control Wizardin Tekemää. Itse lisäilin vain toiminnallisuuden ja kommentit.

Antti [06.03.2004 21:13:43]

#

Tuosta toisesta, kortti hommasta - nyt kun pääsin vauhtiin voisin tehdä siitäkin Activex komponentin - sillä voisi tosiaan olla käyttöä.

JoreSoft [06.03.2004 21:54:13]

#

Olen tekemässä Korttipakka controllia, joka hoitaa korttien grafiikan, sekoittamisen, jne. Ja Jokeri on mukana! (Saat sen kun se on tehty valmiiksi...)

jcd3nton [06.03.2004 22:25:22]

#

Antti lähetäs mullekin se paketti jos se on viel tallessa?

Antti [07.03.2004 10:07:07]

#

Joo laitan. Laittaisin sen koodi vinkiksi, mutta koska se itse rakenne ratkaisee se ei ole mahdollista (tai ainakaan siitä ei kukaan ota selvää)...

Antti L. Mitä luulet? Olisiko mahdollista laittaa tänne sellainen osio jossa olisi koodeja downloadattavaksi?

Antti [07.03.2004 10:25:33]

#

JoreSoft!

Laitoin sinulle väärän koodin:) Laitoin oikean tulemaan perässä.

JoreSoft [07.03.2004 21:05:03]

#

Antti, huomasin että siinä koodissa, jonka lähetin sulle oli pieni virhe. Siis deck-kontrollissa.
Laitoin sen isolla!! Poista toi Picture..
Hieman raakile se on vieläkin, kun en löytänyt ohjetta, kuinka voisin kopioida Cards32.Dll:n Grafiikkaa Picture kontrolliin. Luulin jo hetken että se onnistu... Mietin vaihtoehtona että laittaisin korttien osia talteen ja rakentaisin sen kortti grafiikan "lennosta".. blankon kortin päälle... kuten ilmeisesti Cards32.dll tekee..

Public Property Get CardBack() As Picture
    Dim X As Long
    If CBC < 0 Then ' Haetaan vain kortin tausta
        Set CardBack.PICTURE = CBack.Picture
        Exit Property
'jne...

JoreSoft [08.03.2004 09:19:50]

#

lainaus:

Antti L. Mitä luulet? Olisiko mahdollista laittaa tänne sellainen osio jossa olisi koodeja downloadattavaksi?

Olen samaa mieltä antin kanssa, on helpompi download:ata koko koodipaketti, kuin kopioida tekstiä ja liittää se.
Virheiden mahdollisuus pienenee, ja esimerkissä olevat kontrollit ja kuvat saisi mukana... ;)

Antti [09.03.2004 12:10:55]

#

Siis itselläni oli ajatuksena, että siihen card-kontrolliin tekisi grafiikat itse ja sijoittaisi ne ImageList-kontrolliin samaan tapaan kuin siinä Play-kontrollissa on tehty.

Toinen mahdollisuus on tietysti tallentaa ne korteissa tarvittavat kuvan osat siihen ImageList-kontrolliin ja piirtää kortit lennosta. Siinä vain saattaa tulla aika vääntäminen kuvien paikkojen osalta, mikäli haluat saada kortit skaalautuviksi. Tietysti senkin voi tehdä rakentamalla jokaisesta kortista (13 kpl) suhteellinen template, joka kertoo kuvan paikan suhteellisena arvona kortin kokoon nähden (esim. Herttaässässä Se keskimmäisen hertan suhteellinen paikka on X akselilla 45% ja Y-akselilla 44%). Jokainen kortille sijoitettava elementti tulisi sillon määritellä tällä tavoin.

Antti Laaksonen [09.03.2004 16:43:42]

#

lainaus:

Olisiko mahdollista laittaa tänne sellainen osio jossa olisi koodeja downloadattavaksi?

On mahdollista. Tämän voisi varmaankin yhdistää nykyiseen systeemiin niin, että koodivinkin mukaan olisi mahdollisuus laittaa ZIP-tiedosto ja kuva. Idea on hyvä (ja ollut ennenkin esillä), toteutusta en vielä pysty lupaamaan.

JoreSoft [10.03.2004 07:45:21]

#

lainaus:

Toinen mahdollisuus on tietysti tallentaa ne korteissa tarvittavat kuvan osat siihen ImageList-kontrolliin ja piirtää kortit lennosta. Siinä vain saattaa tulla aika vääntäminen kuvien paikkojen osalta, mikäli haluat saada kortit skaalautuviksi. Tietysti senkin voi tehdä rakentamalla jokaisesta kortista (13 kpl) suhteellinen template, joka kertoo kuvan paikan suhteellisena arvona kortin kokoon nähden (esim. Herttaässässä Se keskimmäisen hertan suhteellinen paikka on X akselilla 45% ja Y-akselilla 44%). Jokainen kortille sijoitettava elementti tulisi sillon määritellä tällä tavoin.

Totautan sen niin, että ensin rakennetaan ko. kortti ja sitten vasta scaalataan, ei tarvitse välittää noista posenteista...


Sivun alkuun

Vastaus

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

Tietoa sivustosta