📄 fileview.cpp
字号:
// FileView.cpp : implementation file
//
#include "stdafx.h"
#include "FTPTranser.h"
#include "FTPTranserDoc.h"
#include "FileView.h"
#include ".\fileview.h"
// CFileView
IMPLEMENT_DYNCREATE(CFileView, CFormView)
CFileView::CFileView()
: CFormView(CFileView::IDD)
{
}
CFileView::~CFileView()
{
}
void CFileView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CFileView, CFormView)
ON_WM_SIZE()
ON_MESSAGE(FILELISTMSG,OnFileList)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnNMDblclkList1)
END_MESSAGE_MAP()
// CFileView diagnostics
#ifdef _DEBUG
void CFileView::AssertValid() const
{
CFormView::AssertValid();
}
void CFileView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
#endif //_DEBUG
// CFileView message handlers
void CFileView::OnSize(UINT nType, int cx, int cy)
{
CWnd * wnd = GetDlgItem(IDC_LIST1);
if(wnd)
wnd->MoveWindow(0,0,cx,cy);
// TODO: Add your message handler code here
}
LRESULT CFileView::OnFileList(WPARAM wParam,LPARAM lParam)
{
CFTPTranserDoc * pDoc = (CFTPTranserDoc *)GetDocument();
if(pDoc == NULL)
return FALSE;
CListCtrl * wnd = (CListCtrl*)GetDlgItem(IDC_LIST1);
wnd->DeleteAllItems();
if(pDoc->fileList.GetSize() <= 0)
{
return TRUE;
}
int lennum = (int)pDoc->fileList.GetSize();
POSITION pos = pDoc->fileList.GetHeadPosition();
char buf[100];
for(int i = 0; i<lennum ; i++)
{
FileInfo& info = pDoc->fileList.GetAt(pos);
if(info.isDir)
wnd->InsertItem(i,info.mName,0);
else
wnd->InsertItem(i,info.mName,pDoc->GetImageIndex(info.mType));
sprintf(buf,"%d",info.mSize);
wnd->SetItemText(i,1,buf);
wnd->SetItemText(i,2,info.mDate);
wnd->SetItemText(i,3,info.mPro);
pDoc->fileList.GetNext(pos);
}
return TRUE;
}
void CFileView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
//CScrollView::OnUpdate(pSender,lHint,pHint);
//if(!this->IsWindowVisible())
// return;
}
void CFileView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
CListCtrl * wnd = (CListCtrl*)GetDlgItem(IDC_LIST1);
if(wnd)
{
wnd->InsertColumn(0,"文件名",0,120);
wnd->InsertColumn(1,"大小",0,80);
wnd->InsertColumn(2,"日期",0,80);
wnd->InsertColumn(3,"属性",0,80);
CFTPTranserDoc * pDoc = (CFTPTranserDoc *)GetDocument();
if(pDoc != NULL)
{
wnd->SetImageList(&pDoc->imageList,LVSIL_SMALL);
}
}
}
void CFileView::OnNMDblclkList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMITEMACTIVATE lpnmitem = (LPNMITEMACTIVATE) pNMHDR;
if(lpnmitem->iItem <= 0)
return;
CFTPTranserDoc * pDoc = (CFTPTranserDoc *)GetDocument();
if(pDoc == NULL)
return ;
CListCtrl * list = (CListCtrl*)CListCtrl::FromHandle(pNMHDR->hwndFrom);
CString file = list->GetItemText(lpnmitem->iItem,0);
FileInfo& fileInfo = pDoc->GetFileInfo(file);
GetParent()->GetParent()->SendMessage(DBCLKITEM,0,(LPARAM)&fileInfo);
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -