诸位看官求教!C++

各位看官求教!C++
void CEntersDetectionDlg::OnBnClickedTrack1()//单击按钮相应程序,“跟踪”,按下之后为“关闭跟踪”,两个循环。
{
// TODO: 在此添加控件通知处理程序代码
CString strname_track;
GetDlgItemText(IDC_TRACK1, strname_track);//IDC_TRACK1,为“跟踪”按钮ID
if (strname_track == "跟踪")
{
track_en=1;
SetDlgItemText(IDC_TRACK1, "关闭跟踪");//点击跟踪按钮之后,执行跟踪程序
}
else
{
track_en=0;
SetDlgItemText(IDC_TRACK1, "跟踪");
}
//*******************首先点击"跟踪",track_en=1,执行下面循环,然后点击"关闭跟踪",track_en=0,程序却跳不出下面的循环。 
for( FrameNum=0;track_en==1; FrameNum++)
{

}
}
请问有什么好的办法让"关闭跟踪"能够生效,跳出这个循环?

------解决方案--------------------
你点击跟踪后,执行了if中的内容,跳过了else中的内容,然后执行for循环,那你点击关闭跟踪的时候自然不会执行到track_en = 0的地方了。

在for循环中加入触发器,改变track_en的值或者使用break跳出循环。
for( FrameNum=0;track_en==1; FrameNum++)
{
    GetDlgItemText(IDC_TRACK1, strname_track);
    if(strname_track == "关闭跟踪")
    {
        track_en=0;
        SetDlgItemText(IDC_TRACK1, "跟踪");
    }
}(