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
}