【VC开源代码栏目提醒】:网学会员为需要VC开源代码的朋友们搜集整理了PeerFileListView.cpp相关资料,希望对各位网友有所帮助!
// PeerFileListView.cpp : implementation file
//
#include "stdafx.h"
#include "peeryouc.h"
#include "PeerFileListView.h"
#include "Createdirdlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPeerFileListView
IMPLEMENT_DYNCREATE(CPeerFileListView, CView)
CPeerFileListView::CPeerFileListView()
{
}
CPeerFileListView::~CPeerFileListView()
{
}
BEGIN_MESSAGE_MAP(CPeerFileListView, CView)
//{{AFX_MSG_MAP(CPeerFileListView)
ON_WM_CREATE()
ON_WM_SIZE()
ON_COMMAND(ID_PEER_FILE_LOCAL_REPORT, OnPeerFileLocalReport)
ON_COMMAND(ID_PEER_FILE_LOCAL_LIST, OnPeerFileLocalList)
ON_COMMAND(ID_PEER_FILE_LOCAL_BIG, OnPeerFileLocalBig)
ON_COMMAND(ID_PEER_FILE_LOCAL_SMALL, OnPeerFileLocalSmall)
ON_CBN_SELCHANGE(ID_PEER_FILE_LOCAL_DROPLIST,OnSelectChange)
ON_NOTIFY(NM_DBLCLK,1000, OnLocalLD )
ON_NOTIFY(NM_RCLICK,1000, OnLocalRC )
ON_NOTIFY(LVN_BEGINDRAG,1000, OnBeginDrag )
ON_COMMAND(IDR_FILE_LOCAL_CREATEDIR, OnFileLocalCreatedir)
ON_COMMAND(IDR_FILE_LOCAL_DELFILE, OnFileLocalDelfile)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPeerFileListView drawing
void CPeerFileListView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CPeerFileListView diagnostics
#ifdef _DEBUG
void CPeerFileListView::AssertValid() const
{
CView::AssertValid();
}
void CPeerFileListView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CPeerFileListView message handlers
int CPeerFileListView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: Add your specialized creation code here
if(!list.Create( WS_VISIBLE|WS_CHILD,CRect(0,0,0,0),this,1000))
return -1;
list.ModifyStyle(0,LVS_REPORT);
style=LVS_REPORT;
LVCOLUMN colinfo;
memset(&colinfo,0,sizeof(colinfo));
colinfo.mask=LVCF_TEXT|LVCF_WIDTH;
colinfo.cx=100;
colinfo.cchTextMax=255;
colinfo.pszText="名称";
colinfo.iSubItem=0;
colinfo.iOrder=0;
list.InsertColumn(0,&colinfo);
colinfo.pszText="类型";
colinfo.iSubItem=1;
colinfo.iOrder=1;
list.InsertColumn(1,&colinfo);
colinfo.pszText="大小";
colinfo.iSubItem=2;
colinfo.iOrder=2;
list.InsertColumn(2,&colinfo);
colinfo.pszText="修改时间";
colinfo.iSubItem=3;
colinfo.iOrder=3;
list.InsertColumn(3,&colinfo);
imagelists.Create(16,16,ILC_MASK,16,1);
imagelistb.Create(32,32,ILC_MASK,16,1);
imagelists.Add(AfxGetApp()->LoadIcon(IDI_DIR));
imagelistb.Add(AfxGetApp()->LoadIcon(IDI_DIR));
list.SetImageList(&imagelists,LVSIL_SMALL);
list.SetImageList(&imagelistb,LVSIL_NORMAL);
list.Register();
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
|CBRS_TOOLTIPS | CBRS_FLYBY /*| CBRS_SIZE_DYNAMIC*/) ||
!m_wndToolBar.LoadToolBar(IDR_PEER_FILE_LOCAL))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
AddToolBarButton();
if(!image.Create(16,16,ILC_MASK,4,1))
return -1;
image.Add(AfxGetApp()->LoadIcon(IDI_DRIVER_A));
image.Add(AfxGetApp()->LoadIcon(IDI_DRIVER_FIX));
image.Add(AfxGetApp()->LoadIcon(IDI_DRIVER_CD));
image.Add(AfxGetApp()->LoadIcon(IDI_DRIVER_
NET));
m_wndToolBar.m_driver.SetImageList(&image);
return 0;
}
void CPeerFileListView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
m_wndToolBar.MoveWindow(0,0,cx,25);
list.MoveWindow(0,25,cx,cy-25);
// TODO: Add your message handler code here
}
void CPeerFileListView::AddToolBarButton()
{
#define COMBO_BOX_WIDTH 80
int index = 0;
CRect rect;
while(m_wndToolBar.GetItemID(index)!= ID_PEER_FILE_LOCAL_STATIC)
index++;
m_wndToolBar.SetButtonInfo(index,
ID_PEER_FILE_LOCAL_STATIC,TBBS_SEPARATOR,110);
m_wndToolBar.GetItemRect(index, &