Problème de rafraichissement (?)

Slaayer - 18 sept. 2001 à 19:33
 progman - 19 sept. 2001 à 09:02
G programmé une application Win32 en C, sous visual C++, permettant de chatter en se connectant à un serveur.
Le client intercepte bien les msg envoyé par le serveur, mais il ne s'affiche dans l'EditBox que si je bouge la souris, ou click sur la boite de dialogue de mon application.

voila en gros le source de mon Dialog process:
BOOL CALLBACK DlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
[...]
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDC_SEND: /* Click sur le bouton "Envoyer" */
len = GetWindowTextLength(GetDlgItem(hDlg, IDC_TXT_INPUT)); /* Je récupere la taille de la chaine de carateres à envoyer */
buf = (char *)calloc(len + 2, sizeof (char)); /* J'alloue la mémoire nécessaire */
GetDlgItemText(hDlg, IDC_TXT_INPUT, buf, len + 2); /* Je récupere la chaine de caractere dans buf */
write_data(g_sock, buf, strlen(buf)); /* J'envoye le msg au serveur */
[...]

default:
read_data(g_sock, g_sMsg, 1024); /Je recupere les msg envoyé par le serveur et je le stock ds g_sMsg */
if (strlen(g_sMsg) > 0)
SetDlgItemText(hDlg, IDC_RECV_MSG, g_sMsg); /* Je l'affiche dans l'EditBox */
return (FALSE);
}

Bon c pas compliqué :)

plz help!

1 réponse

Ben quand il reçoit le message tu fais UpdateWindow(Le hwnd); ou bien tu met cette fonction dans un timer que tu as créé( avec le message WM_TIMER ou autre, et si tu arrives a créer un timer envoie moi le code qui explique tt ça pke j'ai jamais réussi :) avec SetTimer, ... )
0
Rejoignez-nous