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

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

Pb d'affichage


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

Pb d'affichage

mercredi 10 mai 2006 à 13:57:39 | Pb d'affichage

mrous

Bonjour,

Je souhaite afficher des graphiques ds une boite de dialogue. Pour cela, j'utilise une libraire déja ecrite que j'ai trouvé sur le web cependant je n'arrive pas a reafficher le graphique avec la methode onpaint.

Apparemment le graphique s'affiche tres rapidement et il est ensuite éffacé ou remplacé par un écran vide.
Je ne vois pas d'ou vient le problème, voici ma méthode OnPaint():

void CDlgAreva::OnPaint()
{
    CPaintDC dc(this); // device context for painting
    CRect rect;
    GetClientRect(&rect);

    if (IsIconic())
    { 
         SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

        // Center icon in client rectangle
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);

        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;

        // Draw the icon
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
         // CDialog::OnPaint(); 
 
       if(myBar != NULL)
       {
           CWnd* graphFrame = (CWnd*)GetDlgItem(IDC_GRAPH);
           CDC* pDC = graphFrame->GetDC();
           myBar->Draw(pDC);
           ReleaseDC(pDC);
       }
    }
}

myBar est le nom de mon graphique et sa methode Draw prend en argument un CDC*.
IDC_GRAPH est une frame ds ma bdd principale que j'ai mis en Rectangle pour afficher le graphique a l'intérieur.

Merci d'avance pour votre aide.

mercredi 10 mai 2006 à 14:39:14 | Re : Pb d'affichage

mrous

En continuant de chercher, j'ai constaté que si je modifie la fonction draw pour prendre un CPaintDC comme paramtres, la réactualisatiion s'effectue bien. Cependant le graphique n'est plus dans ma frame comme je le souhaitais (ce qui est normal).

Ma question est donc comment faire pour modifier le CDC de mon rectangle en CPaintDC?
Ou comment faire pour ontenir le meme resultat avec un CDC qu'un CPaintDC?

Merci
mercredi 10 mai 2006 à 14:58:14 | Re : Pb d'affichage

mrous

Réponse acceptée !
Finalement j'ai trouve, c'etait pas bien compliqué il fallait juste le savoir:
J'ai créé un CPaintDC en utilisant le pointeur de mon CWnd et plus de problème.

Mais bon je ne sais toujours pas pourquoi ca ne marchait pas avec le CDC puisque apparemment cette méthode marche pour les applications de type SDI mais ds mon cas c'etait une bdd.

Bonne journée


Cette discussion est classée dans : int, graphique, rect, dc, onpaint


Répondre à ce message

Sujets en rapport avec ce message

dessiner dans une boite de dialog [ par olfa7183 ] salut,je veux creer un compteur qui compte les monnaie inserees.tout d'abord je veux le dessiner puis le programmer.pour le dessin j'ai utilisé le cod Bitmaps splitté qui s'affichent a l'envers [ par milhandril ] Je suis actuellement sur un projet dont une parti necessite un petit editeur de map en 2D. Je prend un bitmap que je "découpe" en Tile de 32*32 (en fa Blit de surface avec SDL [problème d'affichage] [ par cyberlewis ] Bonjour,Voilà j'ai fait un code (jeu vidéo SDL),j'arrive à afficher la partie que je veux (tiles, tiles.bmp) dans screen qui est affichée à l'écran, p probleme graphique !!! merci d'avance [ par dededo ] salut je suis un programmeur en herbe avec visual c++ et j'ai besoin d'aide !!!je n'arrive pas a resoudre mon probleme : GetCursorPos(&pt); if(prev le mode graphique sur dos [ par alen ] alb#include#include#include#include#includeint xgclot,xdclot,yh pr d'objet GDI qui augmente, help [ par gege1024 ] CPaintDC hdc(this);HBITMAP bit;BITMAP bitmap;CRect rect;GetClientRect(&rect);  bit= (HBITMAP) LoadImage (NULL,fic_img_abs,IMAGE_BITMAP,0,0,LR_DEFAULTS Redimenssion de fenêtre et permanence de son contenu (V C++) [ par TahitiLove ] Bonjour,J'aimerai savoir comment peut on assurer la permanence du contenu d'une fenêtre.Je m'explique, j'ai créer un projet sous Visual C++ utilisant Getpixel et Setpixel trop lents! :( [ par Omeya ] Bonsoir à tous,Depuis quelques temps, j'essaye de réaliser un capteur d'écran en temps réel et les seuls instructions que je sais vraiment utiliser so Gérer miex la memmoire pour le calcul matriciel [ par Stiko ] salut,j'utilise une classe faite en C++ pour les calculs matriciels de grand taille la classe est le suivant:c'est le fichier .h[quote]/* Matrix.h*/#i Gérer mieux la memoire [ par Stiko ] salut,j'utilise une classe faite en C++ pour les calculs matriciels de grand taille la classe est le suivant:c'est le fichier .h[code]/* Matrix.h*/#if


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 : 1,451 sec (3)

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