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

📄 browsedlg.cpp

📁 VC做的矢量画图程序!
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	{
		AfxMessageBox("没有该记录的管线");
		return;
	}
	//pDoc->UpdateAllViews(p_View);
	this->ShowWindow(SW_MINIMIZE);
	p_View->Invalidate();
				
}
void CBrowseDlg::ShowData(CString sqlStr)
{
	//清空列表中的数据
	m_LineInfo.DeleteAllItems();
	
    CRecordset * pSet=new CRecordset(&((CDrawApp*) AfxGetApp())->m_pdatabase);

	if(sqlStr!="")
   	  pSet->Open(CRecordset::dynaset,_T(sqlStr));
	else
	{
		switch(m_type)
		{
		  case 1: pSet->Open(CRecordset::dynaset,_T("select * from UPWATER"));
             break;
		  case 2: pSet->Open(CRecordset::dynaset,_T("select * from DOWNWATER"));
		     break;
		  case 3: pSet->Open(CRecordset::dynaset,_T("select * from POWER"));
		  default:
		     break;
		}
    }
    
	//将记录显示到列表控件中
	  int i=0;
	  if(!pSet->IsBOF())
	  {
		pSet->MoveFirst();
		int nItem=0;
		CString f;
		CString & f1=f;
		while(!pSet->IsEOF())
		{
		   if(m_type==1)//给水
		   {
		
             pSet->GetFieldValue(1,f1);
		     nItem = m_LineInfo.InsertItem(i,f);
	
		     for(int j=2 ;j<=14;j++)
			 {
			  
	    	     pSet->GetFieldValue(j,f1);
			     if(j==3)//材料字段
				   switch(atoi(f))
				 {
					 case 0: f="";          break;
					 case 1: f="普通铸铁管";break;
					 case 2: f="球墨铸铁管";break;
					 case 3: f="镀锌管";    break;
                     case 4: f="其它";      break;
					 default: f="";         break;

				 }
			      if(j==13)//截取日期的年月日
				      f=f.Left(10);
				  //向单元格添加字段值
		        m_LineInfo.SetItemText(nItem, j-1,f); 
			 }
		 
		     
		   }
		   else if(m_type==2)//排水
		   { 
			  pSet->GetFieldValue(1,f1);
		      nItem = m_LineInfo.InsertItem(i,f);
	
		      for(int j=2 ;j<=14;j++)
			  {
			      pSet->GetFieldValue(j,f1);
			      if(j==3)
				     switch(atoi(f))
				 {  
					 case 0: f="";     break;
                     case 1: f="砼管"; break;
					 case 2: f="砖砌"; break;
                     case 3: f="其它"; break;
					 default:f="";     break;

				 }
			      if(j==13)//截取日期的年月日
				      f=f.Left(10);
				  //向单元格添加字段值
		          m_LineInfo.SetItemText(nItem, j-1,f); 
			  }
		 
		   }
		   else if(m_type==3)
		   {
			  pSet->GetFieldValue(1,f1);
		      nItem = m_LineInfo.InsertItem(i,f);
	
		      for(int j=2 ;j<=11;j++)
			  {
			      pSet->GetFieldValue(j,f1);
			     
			      if(j==11)//截取日期的年月日
				      f=f.Left(10);
				  //向单元格添加字段值
		          m_LineInfo.SetItemText(nItem, j-1,f); 
			  }
		 
		   		   
		   }

		   pSet->MoveNext();
		   //nItem++;
		   i++;
		}
     
 	    pSet->Close();
	    delete  pSet;
	  }
}

bool CBrowseDlg::SelectValid()
{

  POSITION pos=m_LineInfo.GetFirstSelectedItemPosition();
  if(pos==NULL)
  {
	 AfxMessageBox("请先选中一条记录");
	 return false;
  }
 return true;
}

void CBrowseDlg::SetListTitle()
{	
    
	for(int i=0;i<20;i++)
		m_LineInfo.DeleteColumn(0);
	if(m_type==1 || m_type==2)//如果是给水或排水管理
	{
	  m_LineInfo.InsertColumn(0, "管段号", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(1, "管径", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(2, "管材", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(3, "管道埋深", LVCFMT_LEFT, 110);
	  
	  if(m_type==1)
	      m_LineInfo.InsertColumn(4, "管沟宽", LVCFMT_LEFT, 110);
	  else if(m_type==2)
		  m_LineInfo.InsertColumn(4, "坡度", LVCFMT_LEFT, 110);
	  
	  m_LineInfo.InsertColumn(5, "管长", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(6, "起点x", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(7, "起点y", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(8, "起点Z", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(9, "终点x", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(10, "终点y", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(11, "终点z", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(12, "布设时间", LVCFMT_LEFT, 110);
	  
	  if(m_type==1)
	      m_LineInfo.InsertColumn(13, "阀门编号", LVCFMT_LEFT, 110);
	  else if(m_type==2)
          m_LineInfo.InsertColumn(13, "检查井编号", LVCFMT_LEFT, 400);
    }
	else if(m_type==3)//如果是电力管线
	{
	  m_LineInfo.InsertColumn(0, "管段号", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(1, "管道埋深", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(2, "管长", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(3, "沟宽", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(4, "起点x", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(5, "起点y", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(6, "起点Z", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(7, "终点x", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(8, "终点y", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(9, "终点z", LVCFMT_LEFT, 110);
	  m_LineInfo.InsertColumn(10, "布设时间", LVCFMT_LEFT, 110);
	  
	}
}

void CBrowseDlg::SetListStyle()
{
    DWORD dwStyle;
	dwStyle=::GetWindowLong(m_LineInfo.m_hWnd,GWL_STYLE);
	dwStyle |=LVS_REPORT|LVS_SHOWSELALWAYS|LVS_EDITLABELS;
	::SetWindowLong(m_LineInfo.m_hWnd,GWL_STYLE,dwStyle);
    dwStyle=m_LineInfo.GetExtendedStyle();
	dwStyle |=LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT;
	m_LineInfo.SetExtendedStyle(dwStyle);
	m_LineInfo.SetBkColor(RGB(0XFF,0XFF,0XE0));
	m_LineInfo.SetTextBkColor(RGB(0XFF,0XFF,0XE0));

}
BOOL CBrowseDlg::IsVisible()
{
	if(!IsOpen())
		return FALSE;
	WINDOWPLACEMENT scrn;
	GetWindowPlacement(&scrn);
	if(scrn.showCmd==SW_SHOW)
		return TRUE;
	else
		return FALSE;
}

BOOL CBrowseDlg::IsOpen()
{    
	
	return((m_hWnd)?TRUE:FALSE);
}

BOOL CBrowseDlg::InitDialog()
{
    return OnInitDialog();
}

void CBrowseDlg::ShowData(CString *SelID, int n_SelID)
{
	m_LineInfo.DeleteAllItems();
	
    CRecordset * pSet=new CRecordset(&((CDrawApp*) AfxGetApp())->m_pdatabase);
	switch(m_type)
	{
	  case 1: pSet->Open(CRecordset::dynaset,_T("select * from UPWATER"));
          break;
	  case 2: pSet->Open(CRecordset::dynaset,_T("select * from DOWNWATER"));
		  break;
	  case 3: pSet->Open(CRecordset::dynaset,_T("select * from POWER"));
		  default:
		  break;
	}
   
    
	//将记录显示到列表控件中
	  int i=0;
	  int j;//记录被选中记录的个数
	  if(!pSet->IsBOF())
	  {
		pSet->MoveFirst();
		int nItem=0;
		CString f;
		CString & f1=f;
		while(!pSet->IsEOF())
		{
		   pSet->GetFieldValue("ID",f1);
		   for(j=0;j<n_SelID;j++)
		   {
             if(f.Compare(SelID[j])==0)
				   break;
		   }
		   if(j!=n_SelID)
		   
		   if(m_type==1)//给水
		   {		     
             pSet->GetFieldValue(1,f1);
		     nItem = m_LineInfo.InsertItem(i,f);
	
		     for(int j=2 ;j<=14;j++)
			 {
			  
	    	     pSet->GetFieldValue(j,f1);
			     if(j==3)//材料字段
				   switch(atoi(f))
				 {
					 case 0: f="";          break;
					 case 1: f="普通铸铁管";break;
					 case 2: f="球墨铸铁管";break;
					 case 3: f="镀锌管";    break;
                     case 4: f="其它";      break;
					 default: f="";         break;

				 }
			      if(j==13)//截取日期的年月日
				      f=f.Left(10);
				  //向单元格添加字段值
		        m_LineInfo.SetItemText(nItem, j-1,f); 
			 }
		 
		     
		   }
		   else if(m_type==2)//排水
		   { 
			  pSet->GetFieldValue(1,f1);
		      nItem = m_LineInfo.InsertItem(i,f);
	
		      for(int j=2 ;j<=14;j++)
			  {
			      pSet->GetFieldValue(j,f1);
			      if(j==3)
				     switch(atoi(f))
				 {  
					 case 0: f="";     break;
                     case 1: f="砼管"; break;
					 case 2: f="砖砌"; break;
                     case 3: f="其它"; break;
					 default:f="";     break;

				 }
			      if(j==13)//截取日期的年月日
				      f=f.Left(10);
				  //向单元格添加字段值
		          m_LineInfo.SetItemText(nItem, j-1,f); 
			  }
		 
		   }
		   else if(m_type==3)
		   {
			  pSet->GetFieldValue(1,f1);
		      nItem = m_LineInfo.InsertItem(i,f);
	
		      for(int j=2 ;j<=11;j++)
			  {
			      pSet->GetFieldValue(j,f1);
			     
			      if(j==11)//截取日期的年月日
				      f=f.Left(10);
				  //向单元格添加字段值
		          m_LineInfo.SetItemText(nItem, j-1,f); 
			  }
		 
		   		   
		   }

		   pSet->MoveNext();
		   //nItem++;
		   i++;
		}
     
 	    pSet->Close();
	    delete  pSet;
	  }

}

⌨️ 快捷键说明

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