⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commentdialoglst.cpp

📁 非常出名开源客户端下载的程序emule
💻 CPP
字号:

#include "stdafx.h" 
#include "emule.h"
#include "CommentDialogLst.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif


IMPLEMENT_DYNAMIC(CCommentDialogLst, CDialog) 
CCommentDialogLst::CCommentDialogLst(CPartFile* file) 
   : CResizableDialog(CCommentDialogLst::IDD, 0) 
{ 
   m_file = file; 
} 

CCommentDialogLst::~CCommentDialogLst() 
{ 
} 

void CCommentDialogLst::DoDataExchange(CDataExchange* pDX) 
{ 
   CDialog::DoDataExchange(pDX); 
   DDX_Control(pDX, IDC_LST, pmyListCtrl);
} 

BEGIN_MESSAGE_MAP(CCommentDialogLst, CResizableDialog) 
   ON_BN_CLICKED(IDCOK, OnBnClickedApply) 
   ON_BN_CLICKED(IDCREF, OnBnClickedRefresh) 
   ON_NOTIFY(NM_DBLCLK, IDC_LST, OnNMDblclkLst)
END_MESSAGE_MAP() 



void CCommentDialogLst::OnBnClickedApply() 
{ 
   CDialog::OnOK(); 
} 

void CCommentDialogLst::OnBnClickedRefresh() 
{ 
   CompleteList(); 
} 

BOOL CCommentDialogLst::OnInitDialog(){ 
   CResizableDialog::OnInitDialog(); 

   SetIcon(theApp.emuledlg->sourceTrayIcon,FALSE);

   AddAnchor(IDC_LST,TOP_LEFT,BOTTOM_RIGHT);
   AddAnchor(IDCOK,BOTTOM_RIGHT);
   AddAnchor(IDCREF,BOTTOM_RIGHT);
   AddAnchor(IDC_CMSTATUS,BOTTOM_LEFT);

   pmyListCtrl.InsertColumn(0, GetResString(IDS_CD_UNAME), LVCFMT_LEFT, 130, -1); 
   pmyListCtrl.InsertColumn(1, GetResString(IDS_DL_FILENAME), LVCFMT_LEFT, 130, -1); 
   pmyListCtrl.InsertColumn(2, GetResString(IDS_QL_RATING), LVCFMT_LEFT, 80, 1); 
   pmyListCtrl.InsertColumn(3, GetResString(IDS_COMMENT), LVCFMT_LEFT, 340, 1); 

   Localize(); 
   CompleteList(); 

   return TRUE; 
} 

void CCommentDialogLst::Localize(void){ 
   GetDlgItem(IDCOK)->SetWindowText(GetResString(IDS_CW_CLOSE)); 
   GetDlgItem(IDCREF)->SetWindowText(GetResString(IDS_CMT_REFRESH)); 
   SetWindowText(GetResString(IDS_CMT_READALL)+" ("+ m_file->GetFileName() +")"); 
} 

void CCommentDialogLst::CompleteList () { 
   POSITION pos1,pos2; 
   CUpDownClient* cur_src; 
   int count=0; 

   pmyListCtrl.DeleteAllItems();
   
   for (int sl=0;sl<SOURCESSLOTS;sl++) if (!m_file->srclists[sl].IsEmpty())
   for (pos1 = m_file->srclists[sl].GetHeadPosition(); (pos2 = pos1) != NULL;) { 
      m_file->srclists[sl].GetNext(pos1); 
      cur_src = m_file->srclists[sl].GetAt(pos2); 

	  if (cur_src->GetFileComment().GetLength()>0 || cur_src->GetFileRate()>0) {
//			pmyListCtrl.InsertItem(count, cur_src->GetUserName()); 
			pmyListCtrl.InsertItem(LVIF_TEXT|LVIF_PARAM,count,cur_src->GetUserName(),0,0,1,(LPARAM)cur_src);
			pmyListCtrl.SetItemText(count, 1, cur_src->GetClientFilename()); 
			pmyListCtrl.SetItemText(count, 2, GetRateString(cur_src->GetFileRate())); 
			pmyListCtrl.SetItemText(count, 3, cur_src->GetFileComment()); 
			count++;
	  } 
   } 
   CString info="";
   if (count==0) info="("+GetResString(IDS_CMT_NONE)+")";
   GetDlgItem(IDC_CMSTATUS)->SetWindowText(info);
   m_file->UpdateFileRatingCommentAvail();
}

void CCommentDialogLst::OnNMDblclkLst(NMHDR *pNMHDR, LRESULT *pResult)
{
	if (pmyListCtrl.GetSelectedCount()==0) return;

	CUpDownClient* client = (CUpDownClient*)pmyListCtrl.GetItemData(pmyListCtrl.GetSelectionMark());
	if (client) theApp.emuledlg->chatwnd.StartSession(client);
	theApp.emuledlg->SetActiveDialog(&theApp.emuledlg->chatwnd);
	*pResult = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -