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

📄 vidselectdlg.cpp

📁 视频播放控制器程序
💻 CPP
字号:
// VidSelectDlg.cpp : implementation file
//

#include "stdafx.h"
#include "LiveController.h"
#include "VidSelectDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CVidSelectDlg dialog


CVidSelectDlg::CVidSelectDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CVidSelectDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CVidSelectDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_nSelectedIndex = -1;
	m_nSelectedID = 0;
}


void CVidSelectDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CVidSelectDlg)
	DDX_Control(pDX, IDC_VID_LIST, m_ctrVidList);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CVidSelectDlg, CDialog)
	//{{AFX_MSG_MAP(CVidSelectDlg)
	ON_NOTIFY(NM_CLICK, IDC_VID_LIST, OnClickVidList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CVidSelectDlg message handlers
void CVidSelectDlg::OnClickVidList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	LPNMITEMACTIVATE pNmitem = (LPNMITEMACTIVATE)pNMHDR;
	UINT uFlags;
	m_nSelectedIndex = m_ctrVidList.HitTest( CPoint(pNmitem->ptAction), &uFlags );
	if ( m_nSelectedIndex < 0 )
	{
		GetDlgItem(IDOK)->EnableWindow(FALSE);
		*pResult = 0;
		return;
	}
	
	m_nSelectedID = m_ctrVidList.GetItemData( m_nSelectedIndex );
	GetDlgItem(IDOK)->EnableWindow(TRUE);
	*pResult = 0;
}

BOOL CVidSelectDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	LVCOLUMN	lvcol;
	lvcol.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT;
	lvcol.fmt = LVCFMT_LEFT;
	lvcol.pszText = _T( "ID" );
	lvcol.iSubItem = 1;
	m_ctrVidList.InsertColumn( 0, &lvcol );
	m_ctrVidList.SetColumnWidth( 0, 40 );
	lvcol.pszText = _T( "源名称" );
	m_ctrVidList.InsertColumn( 1, &lvcol );
	m_ctrVidList.SetColumnWidth( 1, 190 );
	lvcol.pszText = _T( "类型" );
	m_ctrVidList.InsertColumn( 2, &lvcol );
	m_ctrVidList.SetColumnWidth( 2, 60 );
	lvcol.pszText = _T( "地址/路径" );
	m_ctrVidList.InsertColumn( 3, &lvcol );
	m_ctrVidList.SetColumnWidth( 3, 150 );
	DWORD dwStyle = m_ctrVidList.GetExtendedStyle();
	dwStyle |= LVS_EX_FULLROWSELECT;
	dwStyle |= LVS_EX_GRIDLINES;
    m_ctrVidList.SetExtendedStyle(dwStyle);
	
	if ( m_pShowVids )
	{
		int nIndex = 0;
		CString strTemp;
		LVITEM tempLvi;
		tempLvi.mask = LVIF_IMAGE | LVIF_TEXT;
		tempLvi.stateMask = -1;
		CPlayItem *pItem = m_pShowVids;
		while ( pItem )
		{
			tempLvi.iItem = nIndex;
			tempLvi.iSubItem = 0;
			strTemp.Format( "%d", pItem->m_nVidSrcID );
			tempLvi.pszText = (char *)(LPCTSTR)(strTemp);
			m_ctrVidList.InsertItem(&tempLvi);

			// Vidsrc Name
			tempLvi.iSubItem = 1;
			tempLvi.pszText = (char *)(LPCTSTR)(pItem->m_strSourceName);
			m_ctrVidList.SetItem( &tempLvi );

			// Vidsrc Type
			tempLvi.iSubItem = 2;
			strTemp.Format( "%d", pItem->m_nVidSrcType );
			tempLvi.pszText = (char *)(LPCTSTR)strTemp;
			m_ctrVidList.SetItem( &tempLvi );

			// Vidsrc Path
			tempLvi.iSubItem = 1;
			tempLvi.pszText = (char *)(LPCTSTR)(pItem->m_strSourcePath);
			m_ctrVidList.SetItem( &tempLvi );

			m_ctrVidList.SetItem( &tempLvi );
			m_ctrVidList.SetItemData( nIndex, pItem->m_nVidSrcID );
			pItem = pItem->m_pNext;
			nIndex++;
		}
	}

	GetDlgItem(IDOK)->EnableWindow(FALSE);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -