Määrittelen funktion BitBlt seuraavasti:
Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, _ ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _ ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, _ ByVal ySrc As Long, ByVal dwRop As Long) As Long Const SRCCOPY = &HCC0020
Tuo menee ongelmitta läpi. Sitten, lataan imageboxiin kuvan:
tilebox.Picture = LoadPicture(app.Path & "\" & alisetti.List(alisetti.ListIndex))
Latautuu aivan hyvin. Tiedosto löytyy.
Sitten yritän käyttää BitBlt:tä, mutta se antaa virheilmoituksen File Not Found
Dim a As Long a = BitBlt(kenttabox.hDC, x1, y1, 32, 32, _ tilebox.hDC, Int(mousex / 32) * 32, 0, SRCCOPY)
Tietääkö kukaan, missä voisi olla vika?
Kääntäjä on VB 3.
Visual Basic 3 ja 32-bittiset API-funktiot eivät sovi kovin hyvin yhteen. Minullakin tuli "File not found", vaikka en ollut edes ladannut formille mitään kuvaa. VB6:lla tuonkaltainen ohjelma taas tuntuu toimivan moitteetta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.