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

📄 dlgsendctrl.cpp

📁 网络文件传输,用于显示屏控制系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			{
				my->pnum--;				 
			}		
			my=my->next;
		}
		 if((my->pnum)<getdat)
			{				
				buf=my;
				my=my->next;
			}
		else if((my->pnum)==getdat)
			{		
		 	buf->next=NULL;
		//	free(my);
			}
			else
			{
				my->pnum--;
			 	my->next=NULL;
			}
			//free(buf1);					 	
	}	   
	updatalist();	 
	}
}
 
void CDlgsendctrl::updatalist()
{
	unsigned short pnum;
	m_list.DeleteAllItems();
	 
	if(head==NULL)
	{
		//	head=add;
	}
	else
	{
		my=head;	
		CString str;
		// str=my->der_path;
		// m_destpath.SetWindowText(str);
		 pnum=my->pnum;		 
			str.Format("%u",pnum);
			int item=m_list.InsertItem(pnum,str);
			m_list.SetItemData(item,pnum);
			str=my->start_timer;
			m_list.SetItemText(item,2,str);
			str=my->finish_timer;
			m_list.SetItemText(item,3,str);
			str=my->sour_path;
			m_list.SetItemText(item,4,str);
			str=changsize(my->fil_len);
			m_list.SetItemText(item,5,str);
			str=my->der_path;
			m_list.SetItemText(item,6,str);
			 
			if(my->send_mode==overwrite)
			{
              m_list.SetItemText(item,7,"yes");
			}
			else
			{
             m_list.SetItemText(item,7,"no");
			}
			unsigned char sta=my->sta;
			
			if(sta==send_ok)
			{
				str="发送完成";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==send_fail)
			{
				str="无法发送";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==breaked)
			{
				str="发送中断";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==stop)
			{
				str="发送暂停";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==sending)
			{
				str="发送中";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==to_be_send)
			{
				str="等待发送";
				m_list.SetItemText(item,1,str);
			}

			else if(sta==fileon)
			{
				str="文件已存在";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==noip)
			{
				str="已断开";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==read_file_fail)
			{
				str="读文件错误";
				m_list.SetItemText(item,1,str);
			}
		while(my->next!=NULL) 
		{			 
			my=my->next; 
			pnum=my->pnum;		 
			str.Format("%u",pnum);
			int item=m_list.InsertItem(pnum,str);
			m_list.SetItemData(item,pnum);
			str=my->start_timer;
			m_list.SetItemText(item,2,str);
			str=my->finish_timer;
			m_list.SetItemText(item,3,str);
			str=my->sour_path;
			m_list.SetItemText(item,4,str);
			str=changsize(my->fil_len);
			m_list.SetItemText(item,5,str);
			str=my->der_path;
			m_list.SetItemText(item,6,str);
			if(my->send_mode==overwrite)
			{
              m_list.SetItemText(item,7,"yes");
			}
			else
			{
             m_list.SetItemText(item,7,"no");
			}
			unsigned char sta=my->sta;
			
			if(sta==send_ok)
			{
				str="发送完成";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==send_fail)
			{
				str="无法发送";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==breaked)
			{
				str="发送中断";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==stop)
			{
				str="发送暂停";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==sending)
			{
				str="发送中";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==to_be_send)
			{
				str="等待发送";
				m_list.SetItemText(item,1,str);
			}

			else if(sta==fileon)
			{
				str="文件已存在";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==noip)
			{
				str="已断开";
				m_list.SetItemText(item,1,str);
			}
			else if(sta==read_file_fail)
			{
				str="读文件错误";
				m_list.SetItemText(item,1,str);
			}
		}    
	}		
}
 

void CDlgsendctrl::OnButton6() //清空
{
	// TODO: Add your control notification handler code here
	 
	 if(head!=NULL)
	 {
		struct send_stru *buf1;
		my=head;
		while(my->next!=NULL) 
		{
			buf1=my;
			my=my->next;
			free(buf1);
		}
		if(my!=NULL)
		{
			free(my);
		}
		my->next=NULL;
		my=NULL;
		head=NULL;
		updatalist();	
	 }	 	
}

void CDlgsendctrl::OnDlg22add() 
{
	// TODO: Add your command handler code here
	OnButton1();
}

void CDlgsendctrl::OnDlg22att() 
{
	// TODO: Add your command handler code here
	CDlgsendatt dlg;
	int getitem=m_list.GetSelectionMark(); 	 
	unsigned short getdat=(unsigned short)m_list.GetItemData(getitem); 	  
	if(getdat)
	{	  
		my=head;
		if((my->pnum)==getdat)
		{
            if(my->send_mode==overwrite)
			{
				dlg.m_writemode="覆盖";
			}
			else
			{
				dlg.m_writemode="不覆盖";
			}
			CString str;
			str.Format("%u",my->pnum);
			dlg.m_readaddr=my->sour_path;
			dlg.m_writeaddr=my->der_path;
			dlg.m_seri=str;
			dlg.m_startimer=my->start_timer;
			dlg.m_sendtimer=my->finish_timer;
			str=my->sour_path;
			CFile fil;
            fil.Open(str,CFile::modeRead); 			 
			 dlg.m_size=changsize(fil.GetLength());
			//dlg.m_spee=my->				 
			//my->send_mode=overwrite;
		}
		else
		{
		  while(my->next!=NULL) 
		  {		 
			my=my->next;
			if((my->pnum)==getdat)
			{
				//my->send_mode=overwrite;
				if(my->send_mode==overwrite)
			{
				dlg.m_writemode="覆盖";
			}
			else
			{
				dlg.m_writemode="不覆盖";
			}
			CString str;
			str.Format("%u",my->pnum);
			dlg.m_readaddr=my->sour_path;
			dlg.m_writeaddr=my->der_path;
			dlg.m_seri=str;
			dlg.m_startimer=my->start_timer;
			dlg.m_sendtimer=my->finish_timer;
			str=my->sour_path;
			CFile fil;
            fil.Open(str,CFile::modeRead); 			 
			 dlg.m_size=changsize(fil.GetLength());
			}
		  }
		}
	  dlg.DoModal();
	}
}

void CDlgsendctrl::OnDlg22clear() 
{
	// TODO: Add your command handler code here
	OnButton6();
}

void CDlgsendctrl::OnDlg22dle() 
{
	// TODO: Add your command handler code here
	OnButton5();
}

void CDlgsendctrl::OnDlg22down() 
{
	// TODO: Add your command handler code here
	OnButton4();
}

void CDlgsendctrl::OnDlg22inser() 
{
	// TODO: Add your command handler code here
	OnButton2();
}

void CDlgsendctrl::OnDlg22up() 
{
	// TODO: Add your command handler code here
	OnButton3();
}

void CDlgsendctrl::OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	 
	CPoint point;
    GetCursorPos(&point);      ///获得当前鼠标的坐标	   
    CPoint PinT=point;
    m_list.ScreenToClient(&PinT); 
  //  HTREEITEM getitem;///定一个用来存放当前项的句柄
    UINT nFlag=TVHT_ONITEM; ///在一个项目上点击鼠标右键时
    int getitem=m_list.HitTest(PinT,&nFlag);	  
	//int getitem=m_listtable.GetSelectionMark();	 
   PopMenu.DestroyMenu();  
   //PopMenu.LoadMenu(IDR_MENU5);
   if(getitem==-1)//不选中
   {
	//  PopMenu.LoadMenu(IDR_MENU5);	    
	// PopMenu.GetSubMenu(0)->EnableMenuItem(IDC_POPMENU5DEL, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
	// PopMenu.GetSubMenu(0)->EnableMenuItem(IDC_POPMENU5UP, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
	// PopMenu.GetSubMenu(0)->EnableMenuItem(IDC_POPMENU5DOWN, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
	// PopMenu.GetSubMenu(0)->EnableMenuItem(IDC_POPMENU5ATT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
	// PopMenu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this); 
   }  
   else
   { 
   }
	   PopMenu.LoadMenu(IDR_MENU7);
	   PopMenu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this); 
	
	*pResult = 0;
}

void CDlgsendctrl::OnResend() 
{
	// TODO: Add your command handler code here	 
	int getitem=m_list.GetSelectionMark(); 	 
	unsigned short getdat=(unsigned short)m_list.GetItemData(getitem); 	  
	if(getdat)
	{	     
		my=head;
		if((my->pnum)==getdat)
		{
			my->sta=to_be_send;
		}
		else
		{
		while(my->next!=NULL) 
		{		 
			my=my->next;
			if((my->pnum)==getdat)
			{
					my->sta=to_be_send;
			}
		}
		}
	}
	updatalist();
}

void CDlgsendctrl::OnMenuitem32825() 
{
	// TODO: Add your command handler code here
	int getitem=m_list.GetSelectionMark(); 	 
	unsigned short getdat=(unsigned short)m_list.GetItemData(getitem); 	  
	if(getdat)
	{	  
		my=head;
		if((my->pnum)==getdat)
		{
			my->send_mode=overwrite;
		}
		else
		{
		while(my->next!=NULL) 
		{		 
			my=my->next;
			if((my->pnum)==getdat)
			{
				my->send_mode=overwrite;
			}
		}
		}
	}
	updatalist();
	
}

CString CDlgsendctrl::changsize(unsigned __int64 size)
{
  	CString strsize,str;
	unsigned __int64 dvi;
	unsigned __int64 dec,she;
	dec=1024*1024*1024;
  //  unsigned long size=(unsigned long)ssize;
  if(size>dec)
  {       
	  dvi=size/dec;
	  she=size%dec;
	  she=she/(1024*1024);
      strsize.Format("%u",dvi);
	  str.Format("%u",she);
	  return strsize+'.'+str+" G";
  }
  else if(size>(1024*1024))
  {       
	  dvi=size/(1024*1024);
	  she=size%(1024*1024);
	  she=she/1024;
      strsize.Format("%u",dvi);
	  str.Format("%u",she);
	  return strsize+'.'+str+" M";
  }
   else if(size>1024)
  {       
	  dvi=size/1024;
	  she=size%1024;
	 // she=she/1024;
      strsize.Format("%u",dvi);
	  str.Format("%u",she);
	  return strsize+'.'+str+" K";
  }
   else
   {
	   str.Format("%u",size);
	   return str+" Byte";
   }
}
/*
void CDlgsendctrl::OnCheck2() 
{
	// TODO: Add your control notification handler code here
 
	if(m_stop.GetCheck())
	{
		 //::AfxMessageBox("slect");
		bit_stop_threa=1;
	}
	else
	{
		 bit_stop_threa=0;
	}
	  
}
*/

⌨️ 快捷键说明

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