复制和删除进度条的完成

        鉴于我原来代码的基础上,由ListTable对话框去调用PopMenu对话框,实现文件的复制功能,而我要想实现进度条的完成,必须要传数据给这个进度条。因此这个进度条的位置不能在ListTable里面,必须新建一个对话框Prograss,而这个对话框仅仅是有Progress这一个进度条而已。从PopMenu里面获取到要删除或者复制的文件的大小FileSize,执行粘贴或删除文件的时候,每当复制或者删除成功一个文件(注意是文件不是文件夹), ,就把Prograss调出来,并且得到当前已经完成的文件大小CurFileSize,然后m_fprs = (float)CurFileSize/(float)FileSize;m_iprs = m_fprs * 100;利用m_iprs可以传递给Progress,m_prsTest.SetPos(pos);将复制的进度显示上去就完成了。

       到目前为止,我的文件浏览器所有功能都实现了,但是系统仍然有个很多问题,不够健壮,需要进一步改善,不知道为什么ShowWindow又可以用了,而且我自定义了消息让文件在粘贴或者复制完后进行页面的刷新,这里定义消息应当为两个对话框定义相同的消息,

然后通过

HWND hwnd = ::FindWindow(NULL,_T("ListTable"));获取对应窗口的句柄,

最后

  ::PostMessage(hwnd,WM_MyMessage,0,0); 让ListTable对话框接收来自PopMenu的消息。

然后

LRESULT ListTable::OnMyMessage(WPARAM wParam, LPARAM lParam)
{

 UpdateSavedFiles();
 count = m_FileList.GetCount();
 InitBtnPos();
 ShowFile();
 UpdateWindow();
 return 0;
}

刷新整个页面

你可能感兴趣的:(浏览器,null,float)