1,在VC中建立MFC对话框
2,在OnInitDialog()函数中添加以下代码显示SWF文件
//RECT rc;
//this->GetClientRect(&rc);
//m_PlayFlash.MoveWindow(&rc, true);原始大小显示
//以下为全屏显示
int cx,cy;
cx = GetSystemMetrics(SM_CXSCREEN);
cy = GetSystemMetrics(SM_CYSCREEN);
CRect rcTemp;
rcTemp.BottomRight() = CPoint(cx/2, cy/2);
rcTemp.TopLeft() = CPoint(0, 0);
m_PlayFlash.MoveWindow(&rcTemp);
MoveWindow(&rcTemp);
TCHAR strCurDrt[500];
int nLen = ::GetCurrentDirectory(500,strCurDrt);
if( strCurDrt[nLen]!='//')
{
strCurDrt[nLen++] = '//';
strCurDrt[nLen] = '/0';
}
CString strFileName = strCurDrt;
strFileName += "scrambleweb.swf";
m_PlayFlash.LoadMovie(0, strFileName);
m_PlayFlash.Play();
3 在OnInitDialog()中添加
//以下必须写在一行上
m_PlayFlash.CallFunction("<invoke name=/"sendToActionScript/" returntype=/"xml/"><arguments><string>Hello,Flash</string></arguments></invoke>");
4 在FLASH AS3中添加以下代码
if (ExternalInterface.available) {
try {
ExternalInterface.addCallback("sendToActionScript", receivedFromJavaScript);
} catch (error:SecurityError) {
BottomPanel.textarea.appendText(error.message);
} catch (error:Error) {
BottomPanel.textarea.appendText(error.message);
}
}
和函数receivedFromJavaScript
private function receivedFromJavaScript(value:String):void {
//其中的value值就是从C++中得到的数据
BottomPanel.textarea.appendText(value);
}