Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ MFC VC9.0 VC VC++
void CPictureCtrl::FreeImage()
{
FreeData();
Graphics graphics( GetDC()->GetSafeHdc() );
graphics.Clear(Color::Transparent);
// or any other color ; see Gdiplus..
}
 
m_picCtrl.FreeImage();
	CFile picFile;
	if(picFile.Open(_T("acoustic grand piano_small.png"), CFile::modeReadWrite | CFile::typeBinary))
	{
		cout("opened");
		BYTE* pBuffer = new BYTE[(unsigned int)picFile.GetLength()];
		if(pBuffer != NULL)
		{
			picFile.Read(pBuffer, (UINT)picFile.GetLength());
 
			//Load the Image
			cout("displayed");
				m_picCtrl.Load(pBuffer, (size_t)picFile.GetLength());
 
			delete pBuffer;
		}
	}
 

When I freeImage which should clear the png and display new i am getting black background. But I need transparent background.
 

My objective is display png and when I display new png it should clear the previous pic.
 
I have used CStatic control to display the png.
Posted 3-May-12 18:54pm
chaiein1.8K
Edited 3-May-12 18:55pm
v2

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Add
Invalidate(true);
 
m_picCtrl.FreeImage();
    CFile picFile;
    if(picFile.Open(_T("acoustic grand piano_small.png"), CFile::modeReadWrite | CFile::typeBinary))
    {
        cout("opened");
        BYTE* pBuffer = new BYTE[(unsigned int)picFile.GetLength()];
        if(pBuffer != NULL)
        {
            picFile.Read(pBuffer, (UINT)picFile.GetLength());
 
            //Load the Image
            cout("displayed");
                m_picCtrl.Load(pBuffer, (size_t)picFile.GetLength());
 
            delete pBuffer;
        }
    }
Invalidate(true);
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 405
1 Maciej Los 290
2 Sergey Alexandrovich Kryukov 284
3 George Jonsson 265
4 King_Fisher 180
0 Sergey Alexandrovich Kryukov 10,899
1 Maciej Los 5,594
2 OriginalGriff 5,544
3 CPallini 3,819
4 BillWoodruff 3,579


Advertise | Privacy | Mobile
Web03 | 2.8.141030.1 | Last Updated 4 May 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100