IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Image dans CView


Sujet :

MFC

Vue hybride

shub Image dans CView 16/01/2007, 23h39
farscape salut, oui ,le code... 17/01/2007, 07h37
shub Pour l'erreur j'ai... 17/01/2007, 07h47
shub J'ai une nouvelle erreur : ... 17/01/2007, 08h58
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut Image dans CView
    Bonsoir,
    je viens d'essayer en vain d'afficher dans ma CView une image bitmap, notamment en mettant dans mon projet la classe Picture de CodeGuru(ici).
    Le probleme c'est que d'une j'ai une erreur de compilation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error	1	error C2555: 'CMainFrame::OnCreateClient': overriding virtual function return type differs and is not covariant from 'CFrameWnd::OnCreateClient'	c:\documents and settings\shub\bureau\utrain\utrain\mainfrm.h	43
    Et que de 2 je ne sais toujours pas comment vraiment charger cette image bitmap dans ma view. Dois-je mettre le code dans mon OnDraw?
    Merci

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    oui ,le code d'affichage est à mettre dans Ondraw
    pour ton erreur montre nous la ligne concernée.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    Pour l'erreur j'ai semble-t-il resolu le probleme, en fait ma fonction OnCreateClient de ma View retournait un BOOL alors que la fonction CFrameCWnd::OnCreateClient retournait elle un bool. J'ai modifié et cette ligne passe à la compil.
    J'ai un peu avancé depuis hier avec la classe CPicture et j'ai donc maintenant dans mon OnDraw :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CPicture m_Pict;
    	m_Pict.Load("C:\Documents and Settings\Shub\Bureau\IHM\badminton.bmp");
    	m_Pict.Show(pDC, CRect(0,0,100,100)); // Change Original Dimentions
    Malheuresement je me retrouve de nouveau avec plusieurs erreurs de meme type que je ne comprend pas trop :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error	1	error LNK2019: unresolved external symbol "public: virtual __thiscall CPicture::~CPicture(void)" (??1CPicture@@UAE@XZ) referenced in function "public: virtual void __thiscall CTerrain::OnDraw(class CDC *)" (?OnDraw@CTerrain@@UAEXPAVCDC@@@Z)	Terrain.obj
    Le fichier incriminé est Terrain.obj que je n'ai pas touché donc je ne comprend pas trop.
    Les ligne qui seraient incorrectes serait celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    CPicture::~CPicture()
    //=============================================================================
    {
    	if(m_IPicture != NULL) FreePictureData(); // Important - Avoid Leaks...
    }
     
    Picture::CPicture()
    //=============================================================================
    {
    	m_IPicture = NULL;
    	m_Height = 0;
    	m_Weight = 0;
    	m_Width = 0;
    }
     
    BOOL CPicture::Show(CDC *pDC, CRect DrawRect)
    //=============================================================================
    {
        if (pDC == NULL || m_IPicture == NULL) return FALSE;
     
        long Width  = 0;
        long Height = 0;
        m_IPicture->get_Width(&Width);
        m_IPicture->get_Height(&Height);
     
        HRESULT hrP = NULL;
     
        hrP = m_IPicture->Render(pDC->m_hDC,
                          DrawRect.left,                  // Left
                          DrawRect.top,                   // Top
                          DrawRect.right - DrawRect.left, // Right
                          DrawRect.bottom - DrawRect.top, // Bottom
                          0,
                          Height,
                          Width,
                          -Height,
                          &DrawRect);
     
        if (SUCCEEDED(hrP)) return(TRUE);
     
    	HWND hWnd = AfxGetApp()->GetMainWnd()->m_hWnd;
    	MessageBoxEx(hWnd, "Can not allocate enough memory\t", ERROR_TITLE, MB_OK | MB_ICONSTOP, LANG_ENGLISH);
        return(FALSE);
    }
    Merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 236
    Par défaut
    J'ai une nouvelle erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error	2	general error c101008a: Failed to save the updated manifest to the file ".\Debug\UTrain.exe.embed.manifest". Paramhtre incorrect.	mt.exe
    Mais j'arrive quand meme a lancer mon exe et l'image s'affiche bien

Discussions similaires

  1. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  2. Une image dans un composant ?
    Par bjl dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/03/2003, 11h28
  3. Image dans le designer
    Par kainor dans le forum JBuilder
    Réponses: 3
    Dernier message: 19/03/2003, 14h24
  4. Smiley (image dans un RichEdit)
    Par Waxayaz dans le forum Composants VCL
    Réponses: 3
    Dernier message: 06/02/2003, 14h32
  5. [VB6] [Excel] Insérer une image dans une feuille
    Par mathias dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/10/2002, 07h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo