Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VS2008 MFC VC++
In my mfc application I have dialog box and a picture control(245,26,204,184) its id is IDC_pic.
My code is
 
SecondDlg.cpp
void CSecondDlg::DoDataExchange(CDataExchange* pDX)
 {
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_pic, m_nHeight); //m_nHeight is CStatic object
}
void SecondDlg::OnBnClickedButton1()
{
	
	if(m_flag && m_hBmp)
	{
		capEditCopy(hMyWindow);
		OpenClipboard();
		m_hBmp = (HBITMAP)::GetClipboardData(CF_BITMAP);
		m_hBmp = (HBITMAP)::GetClipboardData(CF_BITMAP);
		m_nHeight.SetBitmap(m_hBmp); //here working fine
		BITMAP bm;
		GetObject(m_hBmp,sizeof(BITMAP),&bm);
		HDC TempHDC,TempHDC1;
		TempHDC1 = ::CreateCompatibleDC(NULL);
		SelectObject(TempHDC1,m_hBmp);
		CRect c1(245,26,24,14),c2(245,26,204,184);
		int rest=::StretchBlt(TempHDC1,550,157,50,50, TempHDC1, c2.left,c2.top,bm.bmWidth,bm.bmHeight, SRCCOPY ); 
		hOldBitmap2=CreateCompatibleBitmap(TempHDC1,204,184);
		GetObject(hOldBitmap2,sizeof(BITMAP),&bm);
		m_nHeight.SetBitmap(hOldBitmap2);
		DeleteDC(TempHDC);
 		CloseClipboard();		
	}
}
I have picture control(id is IDC_pic) on SecondDlg.
Now IDC_pic got black screen.
Posted 21-Nov-12 18:19pm
Edited 22-Nov-12 18:35pm
v5

1 solution

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

Solution 1

Hello,
 
Thats bcs after DoModal UI stuff of dialog are destroyed (in dialog you should receive WM_DESTROY)
 
Better to have HBITMAP variable separately in second dialog which you will do updating in overriden OnOK dialog method inside your second dialog. And on your method just call secong dialog for that value, without calling UI controls.
 
You may try to use Gdiplus instead of GDI for handling images and drawing.
 
Additionally, be sure taht your control with ID = 6 is created and it GetDlgCtrlID returns 6, but maybe better to keep variable for that static in class scope as you should be sure that object of static class you created is destroyed.
 
Regards,
Maxim.
  Permalink  
Comments
Member 7909353 at 22-Nov-12 1:34am
   
Thank you!
You are saying right.
Maxim Kartavenkov at 22-Nov-12 1:40am
   
Welcome

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

  Print Answers RSS
0 BillWoodruff 314
1 Sergey Alexandrovich Kryukov 290
2 George Jonsson 274
3 CPallini 255
4 OriginalGriff 237
0 OriginalGriff 4,895
1 CPallini 4,010
2 Sergey Alexandrovich Kryukov 3,514
3 George Jonsson 2,826
4 Gihan Liyanage 2,386


Advertise | Privacy | Mobile
Web02 | 2.8.140916.1 | Last Updated 23 Nov 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