probleme de Device Context (DC )

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

probleme de Device Context (DC )

Message par Backup »

avant on pouvait faire :

Code : Tout sélectionner

*dc=startdrawing(spriteoutput(#dessin))
pour recuperer de DC (Device context ) du Sprite

il semble qu'on puisse encore faire (puisque ça marche )

Code : Tout sélectionner

*dc=startdrawing(Screenoutput(#dessin))
ou bien

Code : Tout sélectionner

*dc=startdrawing(imageoutput(#dessin))
ect....
seul les Sprites semblent touchés par l'amnésie, depuis les version apres 4.60 ...
en tout cas en V 5.21 ça ne marche pas !
le nombre renvoyé n'est pas digéré par les Api windows ....(d'ailleurs a quoi correspond ce nombre ?? mystere )

connaissez vous un moyen autre pour récuperer un DC ??

sinon , c'est la mouise , j'ai quelques Codes qui utilise cette facilité
et je ne vois vraiment pas comment , les remplacer ...
lorsque je tombe sur des choses comme ça , je me demande si Purebasic évolue dans le bon sens .... :mrgreen:
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: probleme de Device Context (DC )

Message par Fred »

Les libs évoluent et quand tu utilises des fonctions non documentées, tu t'exposes à ce genre de soucis. On essaie au maximum de ne pas trop changer les valeurs de retour "cachées" mais dans ce cas, ce n'etait pas possible. Tu peux utiliser une image intermediaire pour utiliser l'API et l'afficher sur ton sprite avec DrawImage(). Ou mieux quand on veut utiliser l'API c'est de tout creer avec les appels API (CreateDIBSection_() etc.), c'est le seul moyen d'avoir un code pérenne dans le temps.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: probleme de Device Context (DC )

Message par Backup »

quoiqu'il en soit , merci pour la réponse en Français
je ferai donc sans ... :)
j'avais vu qu'en utilisant une image copie , on pouvais sans sortir .. (mais ajoute une etape supplémentaire )

Merci :)
Répondre