probleme : rafraichir une partie d'une boite de dialogue :
boite dialogue contenant en partie superieure 6 boutons, en partie inferieure deux lignes de texte (textout...)
on veut rafraichir seulement les lignes de texte environ toute les 40 millisecondes sans toucher aux boutons,
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
GetClientRect(hwnd,&rcClient);//la zone utilisable de la fenetre
...
switch (message)
{
case WM_PAINT:
{
SetWindowText (Btdossier, btdossier.texte);
UpdateWindow(Btdossier);
SetWindowText (Btstop, btstop.texte);
UpdateWindow(Btstop);
...
...
...
hdc=BeginPaint(hwnd, &ps);
SetTextColor(hdc,bleu);
TextOut(hdc,50,rcClient.bottom-40,affi,strlen(affi));
SetTextColor(hdc,vert);
TextOut(hdc,50,rcClient.bottom-20,texte,strlen(texte));
ReleaseDC(hwnd,hdc);
}
dans ma fonction de travail qui veut afficher en temps le plus reel possible des infos :
RECT r=rcClient;
r.top=r.bottom/2;
RedrawWindow(hwnd,&r,NULL,RDW_INVALIDATE|RDW_ERASENOW|RDW_NOCHILDREN|RDW_UPDATENOW);
pour ne redessiner que la partie basse de mon espace client,
mais ca redessine tout et donc l'affichage de mes boutons n'est pas stable
j'ai tout faux !
une idée? remerciements.
Partager