分类: 嵌入式
2013-04-25 20:15:22
list
advance(m_Pathtemp , -2 ); //找到倒数第二张图片
if (m_Pathfind == m_Pathtemp)
{
m_LeftBtn.EnableWindow(TRUE);
m_RightBtn.EnableWindow(FALSE);
}
m_LeftBtn.EnableWindow(TRUE);
m_Pathfind++;
Loadimage(*m_Pathfind);
void CScan::OnBnClickedDelete()
{
// TODO: 在此添加控件通知处理程序代码
//MessageBox(*m_Pathfind);
list
list
advance(Pathtemp , 1 );
list
list
CDelete delteDlg;
delteDlg.DoModal();
if (delteDlg.m_DelteCancel == TRUE)
{
UpdateWindow();
Loadimage(*m_Pathfind);
return;
}
if (delteDlg.m_DeleteOk == TRUE)
{
DeleteFile(*m_Pathfind);
//删除List对应的节点 并将指针向下移动一个,注意若是最后一张需要将指针调至第一张的位置上
//并且要设置Button的可用性,若文件中只剩下一张图片,选择确定删除后,需要显示封面图片
while (PathBegin != m_PathLst.end())
{
if (*PathBegin == *m_Pathfind)
{
if (PathBegin==m_PathLst.begin())//删除的若是第一张图片,即头结点,则需将头结点向下移动一个
{
m_PathLst.begin()=Pathtemp;
}
m_Pathfind=m_PathLst.erase(PathBegin);
break;
}
else
{
++PathBegin;
}
}
if (m_PathLst.empty())//可以处理删除完后文件夹中一张图片也没有的情况,
//picture控件就显示封面了
{
m_DeleteBtn.EnableWindow(FALSE);
return ;
}
else
{
if(m_Pathfind==m_PathLst.end())//如果删除后m_Pathfind指向NULL则表示删的是最后一张,则-->禁用
{
m_RightBtn.EnableWindow(FALSE);
}
else
{
m_RightBtn.EnableWindow(TRUE);
}
if (m_Pathfind == m_PathLst.end())//如果删除后m_Pathfind指向NULL则表示删的是最后一张
{
Pathtemp = m_PathLst.begin();
advance(Pathtemp,1);
advance(Pathtemph , -1 );
m_Pathfind = Pathtemph; //显示倒数第二张图片
if (Pathtemp==m_PathLst.end())//处理若删除后文件中只剩下一张图片的情况
{
m_RightBtn.EnableWindow(FALSE);
m_LeftBtn.EnableWindow(FALSE);
}
}
UpdateWindow();
Loadimage(*m_Pathfind);
}
}
}
}