DrawText, API, Effacer

Résolu
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 - 8 nov. 2004 à 20:32
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 9 nov. 2004 à 20:40
Comment effacer un texte écrit sur un objet par l'API DrawText ?

Merci.

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 nov. 2004 à 23:58
InvalidateRect(hwnd, 0, 1);

ciao...
BruNews, MVP VC++
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
8 nov. 2004 à 20:49
Normalement, un PictureBox1.Cls devrait suffire.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 2
8 nov. 2004 à 23:07
Il est vrai que le .cls permet l'effacement, mais il génère un cintillement du texte si je l'affiche à des coordonnées différentes.
Si l'objet qui recoit le DrawText n'est pas un PictureBox, comment faire.

Via un UserControl, j'ai fait un texte défilant à la facon WinAmp. Sauf que le .cls du PictureBox qui recoit l'API génère un cintillement quelque soit la vitesse de déplacement.

J'ai supposé qu'il existait des API complémentaires au DrawText... Lesquelles ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 nov. 2004 à 06:04
En effet, si tu fait un invalidaterect du rectangle englobant ton texte, cela force windows à raffraichir l'affichage de ce rectangle => efface le texte, et uniquement pour cette zone, ce qui est plus rapide que de raffraichir toute l'image. Donc il ne devrait plus y avoir de clignotement.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 2
9 nov. 2004 à 20:32
Merci ! ! !

J'ai téléchargé un source qui donne un exemple convainquant :
http://www.vbfrance.com/code.aspx?ID=5427
Je n'ai pas encore essayé sur mon code.

J'utilise API-GUIDE 3.7.854 avec la MAJ 3.93 -> 925 API disponibles.

Je n'ai pas InvalidateRect ? Quelle version d'éditeur utilisez vous ?

Merci.

:)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 nov. 2004 à 20:40
User32.dll

si c'est juste pour un erase background, tu declares 3 params ByVal As Long et ira impec pour passer 0 au second.

ciao...
BruNews, MVP VC++
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
9 nov. 2004 à 20:40
Va voir dans la MSDN pour avoir la déclaration.

Il faut parfois chercher un peu plus loin que dans l'API guide... ;)
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Rejoignez-nous