begin process at 2012 05 29 08:41:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

HELP!! comment rafraichir


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

HELP!! comment rafraichir

vendredi 7 janvier 2005 à 04:28:49 | HELP!! comment rafraichir

kuruma

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  static string chemin;
  static int count=0;
  static bool sel_items=0;
  HDC hdc ;
  PAINTSTRUCT ps ;

      case WM_PAINT:
             hdc=BeginPaint(hwnd,&ps);
             AffCam(chemin);
             DessinPie(hdc);
             EndPaint(hwnd,&ps);
etc...


voila mon probleme, en fait ma fonction AffCam,
me dessine un graphique a partir du chemin donné,
si je met "c:\\" a la place du chemin c bon,
mais comment faire pour que le graphique change quand je change le chemin...
en gros comment faire pour changer le chemin,
sachant que c un static string chemin??

je met pas tout le code  qui est trop long, j'ai des combobox et Listbox qui me renvoi un chemin, mais je ne peut pas initialiser le chemin au depart... plantage

merci de votre aide
vendredi 7 janvier 2005 à 08:34:20 | Re : HELP!! comment rafraichir

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Et tu ne peux pas déclarer ton chemin en static au fichier et non static au niveau de ta fonction ?

DarK Sidious

[Administrateur et responsable VB/API du site 
ProgOtoP]
vendredi 7 janvier 2005 à 14:10:44 | Re : HELP!! comment rafraichir

kuruma

en fait j'ai des case LIST_BOX qui me revoie un chemin a chaque fois que je clique dessus
donc chemin devient a chaque clique c:\\dossier1
je clique chemin devient c:\\dossier1\\dossier2

le changement de chemin marche parfaitement.

mon WM_PAINT me dessine un diagramme par rapport au chemin
je voudrais que le diagramme change par rapport au chemin
j'ai d'autre case qui change mon chemin,...

comment faire pour que mon diagramme se redessinne apres chaque case(LIST_BOX, COMBO_BOX , etc)?????

merci
vendredi 7 janvier 2005 à 14:13:29 | Re : HELP!! comment rafraichir

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
A ce moment là, teste le handle de fenêtre passé à ta procédure de fenêtre pour savoir quel est le contrôle qui nécessite un raffraichissement (ce sera ainsi le dernier à être modifié normalement).

Sinon, utilise une variable pour stocker la valeur du dernier contrôle modifié... mais à ce moment là, autant rendre ta variable chemin publique à tout ton projet !

DarK Sidious

[Administrateur et responsable VB/API du site 
ProgOtoP]
vendredi 7 janvier 2005 à 16:36:32 | Re : HELP!! comment rafraichir

kuruma

merci de tes conseils, mais je comprends pas trop..
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
 static string chemin;
  static int count=0;
  static bool sel_items=0;
  HDC hdc ;
  PAINTSTRUCT ps ;
  RECT rcClient;
  RECT rcZONE;
    switch (message)                  /* handle the messages */
    {

        case WM_TIMER:
             rcClient.top=20;
             rcClient.left=900;
             rcClient.right=1000;
             rcClient.bottom=50;
             RedrawWindow(hwnd,&rcClient,NULL,RDW_ERASE|RDW_INVALIDATE|RDW_ERASENOW|RDW_NOCHILDREN);
             rcZONE.top=400;
             rcZONE.left=10;
             rcZONE.right=400;
             rcZONE.bottom=700;
             RedrawWindow(hwnd,&rcZONE,NULL,RDW_ERASE|RDW_INVALIDATE|RDW_ERASENOW|RDW_NOCHILDREN);
        return 0;

     
                       
                case ID_LISTBOX :
                     {
                      if ((LOWORD(wParam) == ID_LISTBOX) && (HIWORD(wParam) == LBN_SELCHANGE))
                      {
                       chemin=ListBee(chemin);
                       SetWindowText(edit1,chemin.c_str());
                       count++;
                       B1(count);
                      }                                                                                            
                     }
                break;
                case ID_LISTBOX2 :
                     {
                      if ((LOWORD(wParam) == ID_LISTBOX2) && (HIWORD(wParam) == LBN_SELCHANGE))
                      {
                       EnableWindow (bouton5,TRUE);
                       sel_items = 1;
                      }                                                                                            
                     }
                break;
                                     
                case ID_COMBOBOX :
                     {
                      if ((LOWORD(wParam) == ID_COMBOBOX) && (HIWORD(wParam) == LBN_SELCHANGE))
                      {
                       chemin = ListBii();
                       count=0;
                       B1(count);
                      }
                     
                     }                                        
                break;                  
                     
            }        
            
            
        case WM_PAINT:
             hdc=BeginPaint(hwnd,&ps);            
             DeleteObject(hFont);             
             AffCam("h:\\ESSAIS");
             DessinPie(hdc);
             EndPaint(hwnd,&ps);

        return 0;
       
        case WM_CREATE:
              Largeur_Font   = LOWORD (GetDialogBaseUnits ()) ;
              Hauteur_Font   = HIWORD (GetDialogBaseUnits ()) ;
        break;
   
        case WM_SIZE:
             cxClient = LOWORD (lParam);
             cyClient = HIWORD (lParam);
        break;            
       
        default:                      /* for messages that we don't deal with */
            return DefWindowProc (hwnd, message, wParam, lParam);
    }

    return 0;
}



Voila j'ai WM_TIMER qui me rafraichi la zone ou il ya le WM_PAINT..no problem

dans mes LISTBOX et COMBOBOX je rentre un chemin qui me liste les dossier et fichier du chemin, (variable static) et me renvoi ensuite un chemin.

Je voudrais a chaque fois que le chemin est renvoyé par la LISTBOX ou ma COMBOBOX que mon diagramme soit redessiné...mais ca marche pas .
si je met AffCam("h:\\ESSAIS"); ca m'affiche le diagramme de ce dossier.
si je met AffCam(chemin le programme plante);

je ne voit pas comment faire!!!
Help please

Merci

vendredi 7 janvier 2005 à 19:24:51 | Re : HELP!! comment rafraichir

kuruma

ah desolé :p:p:p:p:p:p
le code est bon:p:p
au temps pour moi



le probleme viens de la fonction
AffCam(chemin); qui marche
cette fonction apelle une fonction alloue(), qui n'est pas de moi qui bug


encore merci et desolé :p


Cette discussion est classée dans : static, chemin, hwnd, hdc, ps


Répondre à ce message

Sujets en rapport avec ce message

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 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 problème avec bitblt [ par gregory6 ] GringoBonjour,je suis développeur débutant sous visual C++ et les MFC. Je cherche à afficher le contenu d'un répertoire sur une page graphique que je Affichage bitmap [ par gregory6 ] GringoBonjour, je suis débutant ss visual C++ et j'aurai besoin d'un peu d'aide. Je crée un projet MFC ds lequel je crée une fenetre. Cette fenetre cr cercle, horloge, static POINT xxxx [ par ultima666 ] Bonjour je voulais savoir si l'on pouvait trcer des cercle avec la même méthode que ca:void ( HDC hdc, xxxxx){static BOOL alpha [2][3] = { 1,0,1,1, bmp dans static [ par Arnaud16022 ] bonjourvoila je veux mettre un bmp dans un static.dans le fichier rc ya:SniperImg BITMAP "C:/sniper.bmp"et dans le main ya (en simplifie)#include LRES Decalement de 3 pixel dans le HDC [ par SnOOpss ] Bonjour !!! Pourquoi si je fait :     case WM_PAINT:         {     RECT rt;     PAINTSTRUCT ps;     HDC hdc = BeginPaint(GetParent(hwnd), &a modifier la valeur d'un Static [ par FearBlue ] Bonjours a tousComment peut on faire pour modifier la valeur d'un static par l'intermédiare du codeJe pensais faire ca avecSetWindowText(hWnd,"letexte Couleur de fond d'un control STATIC [ par raidentr ] Salut,J'ai créé dans VC++ 6 un control STATIC de la facon suivante :HWND hwnd;hwnd_lbl = CreateWindowEx(0, "STATIC", "Mon Texte", WS_VISIBLE|WS_CHILD, recuper le chemin d'un executable a partir du titre, ou HWND ou Class [ par youpiyoyo ] Bon voila j'ai le titre du programme, j'ai également sa class, et son HWND...maintenant j'aimerai recup le chemin.... genre c:\windows\prog.exeje suis


Nos sponsors


Sondage...

Comparez les prix

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 : 0,406 sec (4)

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