视频动态显示实现全屏、单屏、多屏模式下的动态显示


该资源能够实现视频的动态显示,其视频窗口可以实现从单屏到多屏的切换以及到全屏的切换
资源截图
代码片段和文件信息
// BSWndContainer.cpp : implementation file
//

#include “stdafx.h“
#include “BSWndContainer.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBSWndContainer

CBSWndContainer::CBSWndContainer()
{
// init active page pointer
m_pActivePage = NULL;

// init window state
m_bFullScreen = FALSE; // Full screen sign 
//m_bMultiScreen = TRUE; // Multiple-window sign 
m_bMultiScreen = FALSE; // Multiple-window sign 
m_bAutoAdjustPos= FALSE; // Auto adjust sign 

SetDrawActivePage(TRUE); // Enable frame

m_nShowPortion=100; // Display proportion 
}

CBSWndContainer::~CBSWndContainer()
{
// remove all pages
while(!m_PageList.IsEmpty())
m_PageList.RemoveHead();
}


BEGIN_MESSAGE_MAP(CBSWndContainer CWnd)
//{{AFX_MSG_MAP(CBSWndContainer)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CBSWndContainer member functions

///////////////////////////////////////////////////
// call this function to create container object.
// it is override from cwnd class
BOOL CBSWndContainer::Create( LPCTSTR lpszClassName LPCTSTR lpszWindowName DWORD dwstyle const RECT& rect CWnd* pParentWnd UINT nID CCreateContext* pContext )
{
dwstyle|=WS_EX_TOOLWINDOW;
return CWnd::Create(lpszClassNamelpszWindowNamedwstylerectpParentWndnIDpContext );
}


///////////////////////////////////////////////////
// call this function to add a page wnd to 
// container. if success retrun TRUEelse return 
// FALSE.
BOOL CBSWndContainer::AddPage(CWnd *pWnd BOOL bRepaint)
{
// check parameter
if( !pWnd || !IsWindow(pWnd->m_hWnd) ) return FALSE;

// check list 
POSITION pos=m_PageList.Find(pWnd);
if(pos!=NULL) 
{
TRACE(“This Window has been added to container the operation will terminate.
“);
return TRUE;
}

// added page
m_PageList.AddTail(pWnd);

if( m_bDrawActive ) DrawActivePage(FALSE);

// reset active page
SetActivePage(pWnd bRepaint);

return TRUE;
}

///////////////////////////////////////////////////
// call this function to remove a page wnd from
// container. 
CWnd *CBSWndContainer::DelPage(CWnd *pWnd)
{
// check list
POSITION pos=m_PageList.Find(pWnd);
if(pos==NULL)
{
TRACE(“This Window is not a member of container the operation will terminate.
“);
return NULL;
}
if(pWnd==m_pActivePage)
if(m_pActivePage==GetPrevPage(pWnd))//m_PageList.IsEmpty()?NULL:m_PageList.GetHead();
m_pActivePage=NULL;
else m_pActivePage=GetPrevPage(pWnd);

m_PageList.RemoveAt(pos);

if (pWnd)
{
pWnd->ShowWindow(SW_HIDE);
}

// Invalidate();

return pWnd;
}

///////////////////////////////////////////////////
// call this function to remove active page from
// container.
CWnd *CBSWndContainer::DelPage()
{
return DelPage(m_

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     148913  2016-06-13 13:45  MultiPlayWindow1.jpeg

     文件       3700  2016-06-11 18:23  MultiPlayWindow11122.jpeg

     文件      28254  2016-06-12 15:30  MultiPlayWindow2.jpeg

     文件      12273  2016-06-13 23:00  MultiPlayWindowBSWndContainer.cpp

     文件       6403  2016-06-13 21:18  MultiPlayWindowBSWndContainer.h

     文件        435  2016-06-07 10:28  MultiPlayWindowClassDiagram1.cd

     文件      90112  2016-04-01 14:20  MultiPlayWindowDebugaacdec.dll

     文件      28672  2016-04-01 14:20  MultiPlayWindowDebugadpcmdec.dll

     文件     614487  2016-04-01 14:20  MultiPlayWindowDebugamrdec.dll

     文件        414  2016-04-01 14:20  MultiPlayWindowDebugavglobal.h

     文件    1110099  2016-04-01 14:38  MultiPlayWindowDebugavnetsdk.dll

     文件      82470  2016-06-15 09:59  MultiPlayWindowDebugBSWndContainer.obj

     文件       6278  2016-06-15 11:19  MultiPlayWindowDebugcl.command.1.tlog

     文件      76868  2016-06-15 11:19  MultiPlayWindowDebugCL.read.1.tlog

     文件       5010  2016-06-15 11:19  MultiPlayWindowDebugCL.write.1.tlog

     文件      11695  2016-06-01 17:18  MultiPlayWindowDebugClientDemo.Build.CppClean.log

     文件        704  2016-06-01 17:18  MultiPlayWindowDebugClientDemo.log

     文件    1806422  2016-04-01 14:37  MultiPlayWindowDebugdhconfigsdk.dll

     文件     551537  2016-04-01 14:20  MultiPlayWindowDebugdhconfigsdk.h

     文件       5102  2016-04-01 14:37  MultiPlayWindowDebugdhconfigsdk.lib

     文件     483840  2016-04-01 14:20  MultiPlayWindowDebugdhlog.dll

     文件    6316115  2016-04-01 14:37  MultiPlayWindowDebugdhnetsdk.dll

     文件    1506500  2016-04-01 14:20  MultiPlayWindowDebugdhnetsdk.h

     文件     148842  2016-04-01 14:37  MultiPlayWindowDebugdhnetsdk.lib

     文件     823345  2016-04-01 14:20  MultiPlayWindowDebugdhplay.dll

     文件     450560  2016-04-01 14:20  MultiPlayWindowDebugfisheye.dll

     文件      61440  2016-04-01 14:20  MultiPlayWindowDebugg7221dec.dll

     文件     956416  2016-04-01 14:20  MultiPlayWindowDebugh264dec.dll

     文件     778240  2016-04-01 14:20  MultiPlayWindowDebughevcdec.dll

     文件     675840  2016-04-01 14:20  MultiPlayWindowDebugInfra.dll

............此处省略114个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)