Bitmaps in PictureBox laden



  • Hallo,

    ich habe ein kleines Problem. Ich möchte ein Bild auf laden und auf dem PictureBox anzeigen lassen. Ich habe eine SDI-Project, der auf FormView basiert. Also ich habe ein PictureBox und erstellt und im Menüfeld ein Belehl Bitmapload hinzugefügt. Nun habe ich in der Viewdatei folgende Funtion hinzugefügt

    void CGrexBmpView::OnDateiBitmapload() 
    {
    	//Um einen Bitmap zu laden
    	static char BASED_CODE szFilter[] = "Bitmap-Dateien (*.bmp)|*.bmp||";
    	CFileDialog m_ldFile(TRUE, ".bmp", m_sBitmap,
    	OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter);
    
    	if (m_ldFile.DoModal() == IDOK)
    	{
    		m_sBitmap = m_ldFile.GetPathName();
    		HBITMAP hBitmap = (HBITMAP) ::LoadImage(AfxGetInstanceHandle(),
    		m_sBitmap, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE |
    		LR_CREATEDIBSECTION);
    
    		if (hBitmap)
    		{
    			if (m_bmpBitmap.DeleteObject())
    			m_bmpBitmap.Detach();
    			m_bmpBitmap.Attach(hBitmap);
    			m_bPicLoaded = TRUE;
    		}
    		Invalidate();
    	}
    
    	//Um den Bitmap in dem Box anzuzeigen
    	CBitmap Bmp1;
    	Bmp1.LoadBitmap(IDB_BITMAP1);
    	m_Picture.SetBitmap(Bmp1);
    }
    

    Irgentwie mag er das nicht 😞

    Was mache ich falsch??



  • Also ich habe mein Code verändert. Es sieht jetzt so aus

    void CGrexBmpView::OnDateiBitmapload() 
    {
    	//Um einen Bitmap zu laden
    	static char BASED_CODE szFilter[] = "Bitmap-Dateien (*.bmp)|*.bmp||";
    	CFileDialog m_ldFile(TRUE, ".bmp", m_sBitmap,
    	OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter);
    
    	if (m_ldFile.DoModal() == IDOK)
    	{
    		m_sBitmap = m_ldFile.GetPathName();
    		HBITMAP hBitmap = (HBITMAP) ::LoadImage(AfxGetInstanceHandle(),
    		m_sBitmap, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE |
    		LR_CREATEDIBSECTION);
    
    		if (hBitmap)
    		{
    			if (m_bmpBitmap.DeleteObject())
    			m_bmpBitmap.Detach();
    			m_bmpBitmap.Attach(hBitmap);
    			m_bPicLoaded = TRUE;
    		}
    		Invalidate();
    	}
    
    	//Um den Bitmap in dem Box anzuzeigen
    	m_Picture.SetBitmap(m_bmpBitmap);
    	UpdateWindow();
    }
    

    Es funtkioniert immer noch nicht 😕


Log in to reply