begin process at 2012 05 28 16:12:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

affichage zone client


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

affichage zone client

lundi 25 février 2008 à 17:26:29 | affichage zone client

informatichien

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(hwn d, &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!
remerciements a qui m"eclaire sur la question!
 
lundi 25 février 2008 à 17:34:56 | Re : affichage zone client

Pistol_Pete

Salut
Si tu veux rafraichir ta fenetre toutes les 40 ms il faut que tu places la ligne suivante dans un timer: InvalidateRect(hwnd,RECT,TRUE);
avec dans RECT les coords de la zone a redessiner.


A+
Mon site internet : [ Lien ]

mardi 26 février 2008 à 09:16:57 | Re : affichage zone client

deck_bsd

Membre Club
Yop,

Soit timer, soit thread, mais utilisé un thread pour ça , je pense que un timer serai préférable. Pour cela utilise la fonction :
SetTimer .

++
deck_bsd
___________________________________
[ [ Lien ]]


Cette discussion est classée dans : texte, hwnd, hdc, partie, rcclient


Répondre à ce message

Sujets en rapport avec ce message

Question à propos de DrawText [ par Freeman2222 ] Hello tlm! J'ai écrit une application windows qui m'affiche du texte dans un rectange prédéfini mais le prob c'est que DrawText ne revient pas automat API, probleme de synchronisation?? refresh visible dans la dlg:( [ par JackosKing ] yOp,Bon voilà, je debute en API? et je voulais coder des menus persos, le probleme c'est que ma fenetre n'arrete pas de se refresh, meme quand il n'y Dessiner un texte dans un hwnd en mode non erase.. [ par JackosKing ] lo,voilà pour le moment j'utilisai ceci pour dessiner un texte dans un bdg: char buf[10];// SYSTEMTIME CurrentTime; HFONT hFont; hFont=Creat disparition de mon bitmap. [ par oRTEEZ ] Voila j'ai une fenetre dans lequel je load mon un bitmap al'aide de la fonction suivante. Mon probleme es t que si je passe sur un autre prog mon imag Edit Control [ par cybermatthieu ] Bonjours,Je suis en Train d'apprendre comment progrmmer en Win32 avec la Class Windows.h. Ce petit programme ne fait q'afficher des caracter mais j'ai Screenmate defectueux [ par anthraxx ] Anthrax ignisque -- Le charbon et le feu J'essaye de faire un screenmate (une petite bestiole se promenant sur les fenetres), mais n'etant pas tres ex API :: gestion du mulo [ par JackosKing ] LRESULT CALLBACK Twiny::WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ static bool activate = FALSE; switch ( message ) { case WM_MO encodage fichier texte en UTF-8 [ par mark01 ] Bonjour,j'ai lu de nombreux messages sur ce sujet mais je ne trouve pas ce qu'il me faut...Voilà mon problème:je developpe une appli en deux parties, LoadImage DevC++ [ par guitoulefoux ] Bonjour,Je cherche a mettre un fond d'écran dans ma form.Pour cela il faudrait que j'utilise loadimage.Je pense déjà avoir pas bien avancé (Merci BruN Une fenetre animee transparente [ par anthraxx ] Anthrax ignisque -- Le charbon et le feu C la seconde foi ke je poste sur ce sujet, mais j'ai un autre probleme. En gros: j'ai une fenetre transparent


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,635 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales