VB.Net: Bitblt depuis une image d'une autre form

Signaler
Messages postés
3
Date d'inscription
lundi 15 novembre 2004
Statut
Membre
Dernière intervention
25 août 2009
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,
J'ai voulu tester VB.Net car ca devient de plus en plus galere VB6 sous Vista.

Il y a une astuce que je n'arrive pas a reproduire sous VBNet qui marchait bien sous VB6.

Je stocke mes images (sprites, buffer, ...) sur une Form que j'appel 'BufferFrm'.
Sous VB6, il me suffisait de faire un Load BufferFrm au demarrage de l'appli et je jouais avec la fenetre vide d'une form vide 'MainForm' grace au fameux bitblt. Cela chargait toutes les images en memoire sans les afficher et je pouvais taper dedans grace au hDC.
Le probleme avec VBNet est que cela ne marche plus. Si le BufferFrm n'est pas visible, bitblt renvoi du noir. Si je met les sprites sur la fenetre principal mais a des coordonnées hors ecran, pareil.
Par contre, si je fais un BufferFrm.Show(), alors là, ca marche, sauf que j'ai la fenetre du buffer d'afficher.
La galere.

Comment faire pour acceder aux picturebox sans les afficher ?
Ou alors passer par les ressources, mais il me faudrait pouvoir attribuer un hDC dessus (ca ne marche pas avec la fonction GetDC(my.resources.sprite1.handle)

Please help

1 réponse

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
VB6 sous vista ? jamais eu de soucis...

suffit de lancer VB6.exe en mode admin.

en .Net, on joue avec le namespace Graphics, on joue avec GDI+ ^^

Renfield - Admin CodeS-SourceS - MVP Visual Basic