📄 shockwaveflash.cpp
字号:
{
BOOL result;
InvokeHelper(0x8a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void CShockwaveFlash::SetDeviceFont(BOOL bNewValue)
{
static BYTE parms[] =
VTS_BOOL;
InvokeHelper(0x8a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
bNewValue);
}
BOOL CShockwaveFlash::GetEmbedMovie()
{
BOOL result;
InvokeHelper(0x8b, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void CShockwaveFlash::SetEmbedMovie(BOOL bNewValue)
{
static BYTE parms[] =
VTS_BOOL;
InvokeHelper(0x8b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
bNewValue);
}
CString CShockwaveFlash::GetBGColor()
{
CString result;
InvokeHelper(0x8c, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void CShockwaveFlash::SetBGColor(LPCTSTR lpszNewValue)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x8c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
lpszNewValue);
}
CString CShockwaveFlash::GetQuality2()
{
CString result;
InvokeHelper(0x8d, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void CShockwaveFlash::SetQuality2(LPCTSTR lpszNewValue)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x8d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
lpszNewValue);
}
void CShockwaveFlash::LoadMovie(long layer, LPCTSTR url)
{
static BYTE parms[] =
VTS_I4 VTS_BSTR;
InvokeHelper(0x8e, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
layer, url);
}
void CShockwaveFlash::TGotoFrame(LPCTSTR target, long FrameNum)
{
static BYTE parms[] =
VTS_BSTR VTS_I4;
InvokeHelper(0x8f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target, FrameNum);
}
void CShockwaveFlash::TGotoLabel(LPCTSTR target, LPCTSTR label)
{
static BYTE parms[] =
VTS_BSTR VTS_BSTR;
InvokeHelper(0x90, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target, label);
}
long CShockwaveFlash::TCurrentFrame(LPCTSTR target)
{
long result;
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x91, DISPATCH_METHOD, VT_I4, (void*)&result, parms,
target);
return result;
}
CString CShockwaveFlash::TCurrentLabel(LPCTSTR target)
{
CString result;
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x92, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
target);
return result;
}
void CShockwaveFlash::TPlay(LPCTSTR target)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x93, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target);
}
void CShockwaveFlash::TStopPlay(LPCTSTR target)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x94, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target);
}
void CShockwaveFlash::SetVariable(LPCTSTR name, LPCTSTR value)
{
static BYTE parms[] =
VTS_BSTR VTS_BSTR;
InvokeHelper(0x97, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
name, value);
}
CString CShockwaveFlash::GetVariable(LPCTSTR name)
{
CString result;
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x98, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
name);
return result;
}
void CShockwaveFlash::TSetProperty(LPCTSTR target, long property, LPCTSTR value)
{
static BYTE parms[] =
VTS_BSTR VTS_I4 VTS_BSTR;
InvokeHelper(0x99, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target, property, value);
}
CString CShockwaveFlash::TGetProperty(LPCTSTR target, long property)
{
CString result;
static BYTE parms[] =
VTS_BSTR VTS_I4;
InvokeHelper(0x9a, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms,
target, property);
return result;
}
void CShockwaveFlash::TCallFrame(LPCTSTR target, long FrameNum)
{
static BYTE parms[] =
VTS_BSTR VTS_I4;
InvokeHelper(0x9b, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target, FrameNum);
}
void CShockwaveFlash::TCallLabel(LPCTSTR target, LPCTSTR label)
{
static BYTE parms[] =
VTS_BSTR VTS_BSTR;
InvokeHelper(0x9c, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target, label);
}
void CShockwaveFlash::TSetPropertyNum(LPCTSTR target, long property, double value)
{
static BYTE parms[] =
VTS_BSTR VTS_I4 VTS_R8;
InvokeHelper(0x9d, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
target, property, value);
}
double CShockwaveFlash::TGetPropertyNum(LPCTSTR target, long property)
{
double result;
static BYTE parms[] =
VTS_BSTR VTS_I4;
InvokeHelper(0x9e, DISPATCH_METHOD, VT_R8, (void*)&result, parms,
target, property);
return result;
}
CString CShockwaveFlash::GetSWRemote()
{
CString result;
InvokeHelper(0x9f, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void CShockwaveFlash::SetSWRemote(LPCTSTR lpszNewValue)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0x9f, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
lpszNewValue);
}
CString CShockwaveFlash::GetStacking()
{
CString result;
InvokeHelper(0xa0, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void CShockwaveFlash::SetStacking(LPCTSTR lpszNewValue)
{
static BYTE parms[] =
VTS_BSTR;
InvokeHelper(0xa0, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
lpszNewValue);
}
///////////////////////////////////////////
BOOL CShockwaveFlash::PreTranslateMessage(MSG* pMsg)
{
//======================XXXXXXXXXXXXXXXXXXXXX===============================
// 本段代码写得相当糟糕, 有时间重写
// 类的几个成员变量也定义得不好, 应该定义成枚举类型变量
//======================XXXXXXXXXXXXXXXXXXXXX===============================
//屏蔽右健点击后的讨厌菜单。
if( !m_bEnableRBTNMenu )
{
if (pMsg->message ==WM_RBUTTONDOWN)
{
if(m_bIsCompactMode||m_bIsFullScreenMode)
{
//自己定义的消息处理
::SendMessage(GetParent()->GetSafeHwnd(),
WM_RBUTTONDOWN,pMsg->wParam,pMsg->lParam );
goto IsCompactMode;
}
return 1;
}
}
IsCompactMode:
if( m_bIsCompactMode ) // 紧凑模式
{
if (pMsg->message ==WM_LBUTTONDOWN)
{
Invalidate ();
//实现无标题拖动
::PostMessage( AfxGetMainWnd()->GetSafeHwnd(),
WM_NCLBUTTONDOWN, HTCAPTION, pMsg->lParam );
}
if (pMsg->message ==WM_RBUTTONDOWN)
{
return 1;
}
else if(pMsg->message ==WM_RBUTTONUP)
{
//oh my god ,这小小的一行代码花掉我多少心血,实现弹出菜单
::SendMessage(GetParent()->GetSafeHwnd(),
WM_RBUTTONUP,pMsg->wParam,pMsg->lParam );
}
}
if( m_bIsFullScreenMode ) // 全屏模式
{
if(pMsg->message ==WM_RBUTTONUP)
{
::SendMessage(GetParent()->GetSafeHwnd(),
WM_RBUTTONUP,pMsg->wParam,pMsg->lParam );
}
if (pMsg->message ==WM_RBUTTONDOWN)
{
return 1;
}
}
if(pMsg->message ==WM_CHAR)
{
switch(pMsg->wParam)
{
case VK_ESCAPE:
if(((CMainFrame *)AfxGetApp()->m_pMainWnd)->m_bFullScreenMode)
((CMainFrame *)AfxGetApp()->m_pMainWnd)->FullScreenModeOff();
if(((CMainFrame *)AfxGetApp()->m_pMainWnd)->m_bIsCompactMode)
((CMainFrame *)AfxGetApp()->m_pMainWnd)->CompactModeOff();
break;
default:
break;
}
}
if(pMsg->message ==WM_LBUTTONDBLCLK)
{
if( m_bIsFullScreenMode ) // 全屏模式
{
((CMainFrame *)AfxGetApp()->m_pMainWnd)->FullScreenModeOff();
m_bIsFullScreenMode = FALSE;
}
else
{
if( m_bIsCompactMode )
{
if(((CMainFrame *)AfxGetApp()->m_pMainWnd)->m_bIsCompactMode)
{
((CMainFrame *)AfxGetApp()->m_pMainWnd)->CompactModeOff();
m_bIsCompactMode = FALSE;
}
goto _BREAK;
}
((CMainFrame *)AfxGetApp()->m_pMainWnd)->FullScreenModeOn();
m_bIsFullScreenMode = TRUE;
}
}
_BREAK:
// TODO: Add your specialized code here and/or call the base class
return CWnd::PreTranslateMessage (pMsg);
}
void CShockwaveFlash::SetMenuEnable(BOOL menuEnable)
{
m_bEnableRBTNMenu = menuEnable;
}
BOOL CShockwaveFlash::GetMenuEnable()
{
return m_bEnableRBTNMenu;
}
void CShockwaveFlash::EnableCompactMode(BOOL bCompactMode)
{
m_bIsCompactMode = bCompactMode;
}
void CShockwaveFlash::EnableFullScreenMode(BOOL bFullScreenMode)
{
m_bIsFullScreenMode = bFullScreenMode;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -