WM_CHAR

cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010 - 25 janv. 2006 à 10:50
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 - 27 janv. 2006 à 17:42
j'ai une chaine de caractères que je veux afficher dans un control RichEdit, comme si je la tape par clavier caractère par caractère
comment faire ce travail

je sais qu'il faut utiliser WM_CHAR
comment ??

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
25 janv. 2006 à 10:56
Dans la proc de sous classement de ton RichEdit:
SetWindowText(...);
return 0;

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_isir Messages postés 46 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 14 février 2010
25 janv. 2006 à 18:54
merci, ça je le sais bien; mais ce n'est pas ce que je cherche, afficher la chaine des caractères, car par car comme si je la tape avec clavier,
merci
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
27 janv. 2006 à 17:42
Salut,

Tu peux envoyer le message WM_CHAR à ton richedit dans une
boucle pour qu'il ajoute tous les caractères de la chaine un par un. Le
problème c'est que ça s'affiche très vite. Pour imiter la frappe sur le
clavier, il faut utiliser un timer afin de fixer le rythme d'affichage
des caractères. Dans la procédure de ta fenêtre tu peux faire comme
ceci:

static char chaine[]={"Bonjour."};

static int compteur=0;



Suite au clic sur le bouton qui lance l'affichage tu fais:

SetTimer(hWnd,0,300,0); // un caractère toutes les 300 millisecondes par exemple



L'affichage se fait durant WM_TIMER:

case WM_TIMER:

SendMessage(hRich,WM_CHAR,(WPARAM) chaine[compteur],(LPARAM)0);

compteur++;

if(compteur==lstrlen(chaine))

{

KillTimer(hWnd,0);

compteur=0;

}

return 0;



hWnd est le handle de la fenêtre mère

hRich est le handle de ton richedit.
0
Rejoignez-nous