in AliRTC2.5/Windows/MFC Demo/RtcSample/RTCSampleMainInterface.cpp [725:787]
void CRTCSampleMainInterface::RemoveRemoteUser(const String strUid, RemoveType remove)
{
for (int index = 0; index < 5; index++)
{
if (m_vecThrowingScreenInfo[index].s_strRemoteUserUid == strUid)
{
if (MoveForward == remove)
{
if (0 < index)
{
for (int index2 = 0; index2 < index; index2++)
{
MoveThrowingScreen(m_vecThrowingScreenInfo[index2].s_iReflectID, 1);
MoveThrowingScreen(m_vecThrowingScreenInfo[index2].s_iReflectTips, 1);
}
MoveThrowingScreen(m_vecThrowingScreenInfo[index].s_iReflectID, -index);
MoveThrowingScreen(m_vecThrowingScreenInfo[index].s_iReflectTips, -index);
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectID)->SetWindowTextA("无信号");
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectTips)->SetWindowTextA("");
m_vecThrowingScreenInfo[index].s_strRemoteUserUid = "";
MoveVecValPos(index, true);
}
else
{
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectID)->SetWindowTextA("无信号");
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectTips)->SetWindowTextA("");
m_vecThrowingScreenInfo[index].s_strRemoteUserUid = "";
}
}
else if (BackwardShift == remove)
{
if (4 > index)
{
for (int index2 = index + 1; index2 < 5; index2++)
{
MoveThrowingScreen(m_vecThrowingScreenInfo[index2].s_iReflectID, -1);
MoveThrowingScreen(m_vecThrowingScreenInfo[index2].s_iReflectTips, -1);
}
MoveThrowingScreen(m_vecThrowingScreenInfo[index].s_iReflectID, 4 - index);
MoveThrowingScreen(m_vecThrowingScreenInfo[index].s_iReflectTips, 4 - index);
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectID)->SetWindowTextA("无信号");
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectTips)->SetWindowTextA("");
m_vecThrowingScreenInfo[index].s_strRemoteUserUid = "";
MoveVecValPos(index, false);
}
else
{
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectID)->SetWindowTextA("无信号");
GetDlgItem(m_vecThrowingScreenInfo[index].s_iReflectTips)->SetWindowTextA("");
m_vecThrowingScreenInfo[index].s_strRemoteUserUid = "";
}
}
break;
}
}
}