⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shockwaveflash.cpp

📁 这是一个用VC++编写的FLSHPLAYER
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{
	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 + -