用4个Panel来接收4路视频信号;
(1)通过鼠标双击实现,4个小画面和1个大画面之间切换;
(2)还有就是拖动窗体时如何实现重绘,避免出现影子?
如何把下面的C++代码修改成C#?void CClientdemoDlg::OnDbStatic1() //鼠标"双击"Static5时执行{
if (nn1 >= 0 ) //启动客户端时给nn1赋值;nn1初始值为-1;
{
MP4_ClientAudioStart(nn1);
MP4_ClientAudioVolume(0xfff0);
}
if (blarged) //已经最大化
{
ScreenToClient((LPPOINT)&orirc);
ScreenToClient((LPPOINT)&orirc+1);
m_video5.MoveWindow(orirc,TRUE);
m_video6.ShowWindow(SW_SHOW); //显示多画面
m_video7.ShowWindow(SW_SHOW);
m_video8.ShowWindow(SW_SHOW);
blarged = FALSE; //标记是否最大化
}
else //小图状态
{
m_video6.ShowWindow(SW_HIDE); //隐藏控件
m_video7.ShowWindow(SW_HIDE);
m_video8.ShowWindow(SW_HIDE);
m_video5.GetWindowRect(&orirc);
m_video5.MoveWindow(10,10,(int)(352*1.6),(int)(288*1.6),TRUE);
blarged = TRUE;
}
}
void CHKVisionDlg::OnMove(int x, int y) //移动窗体{
CDialog::OnMove(x, y);
if(!dlgInited)
{
return;
}
//移动窗体时发送重画的消息
::SendMessage(GetDlgItem(IDC_VIDEOWIN)->m_hWnd, WM_PAINT, 0, 0); //发送消息
}
(1)通过鼠标双击实现,4个小画面和1个大画面之间切换;
(2)还有就是拖动窗体时如何实现重绘,避免出现影子?
如何把下面的C++代码修改成C#?void CClientdemoDlg::OnDbStatic1() //鼠标"双击"Static5时执行{
if (nn1 >= 0 ) //启动客户端时给nn1赋值;nn1初始值为-1;
{
MP4_ClientAudioStart(nn1);
MP4_ClientAudioVolume(0xfff0);
}
if (blarged) //已经最大化
{
ScreenToClient((LPPOINT)&orirc);
ScreenToClient((LPPOINT)&orirc+1);
m_video5.MoveWindow(orirc,TRUE);
m_video6.ShowWindow(SW_SHOW); //显示多画面
m_video7.ShowWindow(SW_SHOW);
m_video8.ShowWindow(SW_SHOW);
blarged = FALSE; //标记是否最大化
}
else //小图状态
{
m_video6.ShowWindow(SW_HIDE); //隐藏控件
m_video7.ShowWindow(SW_HIDE);
m_video8.ShowWindow(SW_HIDE);
m_video5.GetWindowRect(&orirc);
m_video5.MoveWindow(10,10,(int)(352*1.6),(int)(288*1.6),TRUE);
blarged = TRUE;
}
}
void CHKVisionDlg::OnMove(int x, int y) //移动窗体{
CDialog::OnMove(x, y);
if(!dlgInited)
{
return;
}
//移动窗体时发送重画的消息
::SendMessage(GetDlgItem(IDC_VIDEOWIN)->m_hWnd, WM_PAINT, 0, 0); //发送消息
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货