비 모드 대화 상자 생 성 및 삭제

928 단어 cnulldelete
1, 비 모드 대화 상자 생 성
void CModelessDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	
	//            
	CWnd* pWnd = FindWindow(0, "         ");
	if(NULL == pWnd)
	{
		CDlgModeless* dlg = new CDlgModeless();
		dlg->Create(IDD_MODELESS, this);
		dlg->ShowWindow(SW_SHOW);
	}
	else
	{
		pWnd->BringWindowToTop();
	}	
}

2, 비 모드 대화 상자 의 폐기, 비 모드 대화 상자 클래스 (CDlgModeless) 에 대한 처리
a, Oncacle 함수 다시 불 러 오기
// .h  
virtual void OnCancel();


// .cpp  
void CDlgModeless::OnCancel()
{
	DestroyWindow();
        //   :      CDialog::OnCancel();
}

무 거 운 짐
PostNcDestroy 함수
// .h  
virtual void PostNcDestroy();


// .cpp  
void CDlgModeless::PostNcDestroy() 
{
	CDialog::PostNcDestroy();

	delete this; //     
}

C + + 예시 원본:http://download.csdn.net/source/3487211

좋은 웹페이지 즐겨찾기