www.pudn.com > WBDrawDemo.rar > TESTDEMO.cpp


// TESTDEMO.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "WBDrawDemo.h" 
#include "TESTDEMO.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// TESTDEMO dialog 
 
 
TESTDEMO::TESTDEMO(CWnd* pParent /*=NULL*/) 
	: CDialog(TESTDEMO::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(TESTDEMO) 
		// NOTE: the ClassWizard will add member initialization here 
	//}}AFX_DATA_INIT 
} 
 
 
void TESTDEMO::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(TESTDEMO) 
		// NOTE: the ClassWizard will add DDX and DDV calls here 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(TESTDEMO, CDialog) 
	//{{AFX_MSG_MAP(TESTDEMO) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// TESTDEMO message handlers 
 
class MediaInterface{ 
public: 
	virtual BOOL InitWB(CWnd * hWnd,CRect m_cRect)=0; 
}; 
 
typedef MediaInterface * (*MEDIAINTERFACE)() ; 
 
 
BOOL TESTDEMO::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	 
	HINSTANCE		m_hMediaDll1 ; 
	MEDIAINTERFACE	m_hMediaProc1; 
	MediaInterface *m_hMediaInterfaceProc1; 
 
	m_hMediaDll1 = ::LoadLibrary( "WBDraw.dll" ) ; 
 
	if( !m_hMediaDll1 ){ 
		AfxMessageBox( "Load dll failed !" ) ; 
		TRACE( "%d\r\n" , GetLastError( ) ) ; 
		return false ; 
	} 
	m_hMediaProc1 = (MEDIAINTERFACE)::GetProcAddress( m_hMediaDll1 , "GetMediaInterface" ) ; 
	if( !m_hMediaProc1 ) 
	{ 
		m_hMediaProc1 = NULL; 
		AfxMessageBox("load function error !" ) ; 
		return false ; 
	} 
 
	m_hMediaInterfaceProc1 = m_hMediaProc1(); 
	CWnd *m_pCWnd1=AfxGetMainWnd(); 
	m_hMediaInterfaceProc1->InitWB(m_pCWnd1,CRect(0,0,800,300)); 
	 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
}