Garder l'image !

sebkidy2 Messages postés 3 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 mai 2007 - 6 mai 2007 à 19:54
sebkidy2 Messages postés 3 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 mai 2007 - 7 mai 2007 à 14:40
salut
voila j ai deux fonction une qui dessine une image principale ( Dessine(hdc, Fp) ) et une autre (IterPASAPAS) qui est sensé desinner dessus la premiere
pour ceux j ai fait sa :

case WM_PAINT:
        if (drapdessine == 1)

            {

            HDC                hdc;

            // --- ---

                hdc = BeginPaint( hWnd, &ps );

                SetBkMode(hdc, TRANSPARENT);

                SetCursor( CurSablier );

                {

                    Redimen(hdc, Fp);

                    Dessine(hdc, Fp);

                }

                SetCursor( CurPointeur );        

            }else  if (drapdessine == 2)
            {
                hdc = BeginPaint( hWnd, &ps );
                SetCursor( CurSablier );

                IterPASAPAS(hdc, Fp);
                SetCursor( CurPointeur );
            } 
        break;
le probleme est que sa dessine bien la suite mais sa effac tou le reste sur un fond blanc aider moi svp !!!

3 réponses

sebkidy2 Messages postés 3 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 mai 2007
6 mai 2007 à 20:38
j oubliait a la fin du WM_COMMAND
j'ajoute sa :
if (wmid != IDM_FIN)
            {
                InvalidateRect( hWnd, NULL, TRUE);
                UpdateWindow( hWnd );
           }
je met invalidaterect car sinon rien ne sa dessine une foi la premiere image dessiné
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
7 mai 2007 à 01:27
Salut,
Montre le code de tes fonctions de dessin.
0
sebkidy2 Messages postés 3 Date d'inscription dimanche 6 mai 2007 Statut Membre Dernière intervention 7 mai 2007
7 mai 2007 à 14:40
Resalut

voici la fonction elle dessine des courbes de poursuites de "souris" a n iteration :
/*--------Iteration-----------=dessinne dans la partie du prog au dessu-------------------------------------*/
void Iteration(HDC hdc, FENETRE Fp)
{
       
    int i,j;
    HPEN hPen, holdpen;
    /*------------------------------------------*/
    for (i = 0; iet la  c la fonction qui ajoutes lescourbes de poursuites pas a pas suivant un accelerateur
/*--------IterPASAPAS-----------------------------------------------------------------*/
void IterPASAPAS(HDC hdc, FENETRE Fp)
{
        
    int j;
    HPEN hPen, holdpen;
    /*------------------------------------------*/
    SetBkMode( hdc, TRANSPARENT);
    for (j = 0 ; j < Param.nbsouris ; j++)
        {
            Souris[j].fin[0] =
                (float)(Souris[j].debut[0] + Param.h
                        * ( Souris[Souris[j].but].debut[0]
                        - Souris[j].debut[0]));
            Souris[j].fin[1] = (float)(Souris[j].debut[1] + Param.h
                                * ( Souris[Souris[j].but].debut[1]
                                - Souris[j].debut[1]));
        }

    for (j = 0; j < Param.nbsouris ; j++)
    {
        hPen = CreatePen (PS_SOLID, 1, Souris[j].Couleur );
        holdpen = SelectObject( hdc, hPen);
        SetBkMode( hdc, TRANSPARENT);

        MoveToEx( hdc,
                  (int) (Souris[j].debut[0]),
                  (int) (Souris[j].debut[1]),
                  NULL );
        LineTo(    hdc,
                (int) (Souris[Souris[j].but].fin[0]),
                (int) (Souris[Souris[j].but].fin[1]));
        SelectObject( hdc, holdpen);
        DeleteObject( hPen );
    }
    for (j = 0; j < Param.nbsouris; j++)
    {
       Souris[j].debut[0] = Souris[j].fin[0];
       Souris[j].debut[1] = Souris[j].fin[1];
    }

return;
}
/*------------------------------------------------------IterPASAPAS-------------------*/
0
Rejoignez-nous