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

📄 myalview.cpp

📁 一个非常简单地址簿程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	
	CString strID;
	for(i=0;i<nItemCount;i++)
	{	
		nState=ListCtrl.GetItemState(i,LVIS_SELECTED);	
		if(nState!=0) 
		{
			strID = ListCtrl.GetItemText(i,0);
			break;
		}
	}
	
	int nLen = strID.GetLength();
	LPCSTR lpszBuf = strID.GetBuffer(nLen);
	long lID = atol(lpszBuf);

	CMyALDoc* pDoc = GetDocument();
	pDoc->DisplayRecord(lID);
}

void CMyALView::OnFind() 
{
	m_pFindDlg = new CFindDlg(this);
	m_pFindDlg->Create(IDD_FIND);
	m_pFindDlg->CenterWindow();
	m_pFindDlg->ShowWindow(SW_SHOW);
}

void CMyALView::Search()
{
	BeginWaitCursor();

	CMyALDoc* pDoc = GetDocument();
	
	if(pDoc->m_pBaseInfoSet->IsOpen())
		pDoc->m_pBaseInfoSet->Close();
	pDoc->m_pBaseInfoSet->Open();
	
	if(pDoc->m_pFamilySet->IsOpen())
		pDoc->m_pFamilySet->Close();
	pDoc->m_pFamilySet->Open();

	if(pDoc->m_pUnitSet->IsOpen())
		pDoc->m_pUnitSet->Close();
	pDoc->m_pUnitSet->Open();

	if(pDoc->m_pContactSet->IsOpen())
		pDoc->m_pContactSet->Close();
	pDoc->m_pContactSet->Open();

	if(pDoc->m_pOtherSet->IsOpen())
		pDoc->m_pOtherSet->Close();
	pDoc->m_pOtherSet->Open();

	if(pDoc->m_pActiveSet->IsOpen())
		pDoc->m_pActiveSet->Close();
	pDoc->m_pActiveSet->Open();

	if(pDoc->m_pRemarkSet->IsOpen())
		pDoc->m_pRemarkSet->Close();
	pDoc->m_pRemarkSet->Open();

	TRACE("%d ,%d ,%d\n",m_pFindDlg->m_nLocate,m_pFindDlg->m_nField,m_pFindDlg->m_nCondition);
	DeleteAllItems();
	int nFlag = 0;
	switch(m_pFindDlg->m_nLocate)
	{
	case 0:
		{
			if(!(pDoc->m_pBaseInfoSet->IsBOF()&&pDoc->m_pBaseInfoSet->IsEOF()))
			{
				while(!pDoc->m_pBaseInfoSet->IsEOF())
				{
					if(pDoc->SearchBaseInfo(m_pFindDlg->m_nField, m_pFindDlg->m_nCondition, m_pFindDlg->m_strText, m_pFindDlg->m_nLogic, m_pFindDlg->m_oleDate))
					{
						DisplayRecord();
						nFlag++;
					}
					pDoc->m_pBaseInfoSet->MoveNext();
					pDoc->m_pFamilySet->MoveNext();
					pDoc->m_pUnitSet->MoveNext();
					pDoc->m_pContactSet->MoveNext();
				}
			}
			break;
		}
	case 1:
		{
			if(!(pDoc->m_pBaseInfoSet->IsBOF()&&pDoc->m_pBaseInfoSet->IsEOF()))
			{
				while(!pDoc->m_pBaseInfoSet->IsEOF())
				{
					if(pDoc->SearchFamily(m_pFindDlg->m_nField, m_pFindDlg->m_nCondition, m_pFindDlg->m_strText))
					{
						DisplayRecord();
						nFlag++;
					}
					pDoc->m_pBaseInfoSet->MoveNext();
					pDoc->m_pFamilySet->MoveNext();
					pDoc->m_pUnitSet->MoveNext();
					pDoc->m_pContactSet->MoveNext();
				}
			}
			break;
		}
	case 2:
		{
			if(!(pDoc->m_pBaseInfoSet->IsBOF()&&pDoc->m_pBaseInfoSet->IsEOF()))
			{
				while(!pDoc->m_pBaseInfoSet->IsEOF())
				{
					if(pDoc->SearchUnit(m_pFindDlg->m_nField, m_pFindDlg->m_nCondition, m_pFindDlg->m_strText))
					{
						DisplayRecord();
						nFlag++;
					}
					pDoc->m_pBaseInfoSet->MoveNext();
					pDoc->m_pFamilySet->MoveNext();
					pDoc->m_pUnitSet->MoveNext();
					pDoc->m_pContactSet->MoveNext();
				}
			}
			break;
		}
	case 3:
		{
			if(!(pDoc->m_pBaseInfoSet->IsBOF()&&pDoc->m_pBaseInfoSet->IsEOF()))
			{
				while(!pDoc->m_pBaseInfoSet->IsEOF())
				{
					if(pDoc->SearchContact(m_pFindDlg->m_nField, m_pFindDlg->m_nCondition, m_pFindDlg->m_strText))
					{
						DisplayRecord();
						nFlag++;
					}
					pDoc->m_pBaseInfoSet->MoveNext();
					pDoc->m_pFamilySet->MoveNext();
					pDoc->m_pUnitSet->MoveNext();
					pDoc->m_pContactSet->MoveNext();
				}
			}
			break;
		}
	case 4:
		{
			if(!(pDoc->m_pBaseInfoSet->IsBOF()&&pDoc->m_pBaseInfoSet->IsEOF()))
			{
				while(!pDoc->m_pBaseInfoSet->IsEOF())
				{
					if(pDoc->SearchOther(m_pFindDlg->m_nField, m_pFindDlg->m_nCondition, m_pFindDlg->m_strText))
					{
						DisplayRecord();
						nFlag++;
					}
					pDoc->m_pBaseInfoSet->MoveNext();
					pDoc->m_pFamilySet->MoveNext();
					pDoc->m_pUnitSet->MoveNext();
					pDoc->m_pContactSet->MoveNext();
					pDoc->m_pOtherSet->MoveNext();
				}
			}
			break;
		}
	case 5:
		{
			if(!(pDoc->m_pActiveSet->IsBOF()&&pDoc->m_pActiveSet->IsEOF()))
			{
				while(!pDoc->m_pActiveSet->IsEOF())
				{
					if(pDoc->SearchActive(m_pFindDlg->m_nField, m_pFindDlg->m_nCondition, m_pFindDlg->m_strText, m_pFindDlg->m_nLogic, m_pFindDlg->m_oleDate))
					{
						pDoc->m_pBaseInfoSet->MoveFirst();
						pDoc->m_pFamilySet->MoveFirst();
						pDoc->m_pUnitSet->MoveFirst();
						pDoc->m_pContactSet->MoveFirst();
						while(!pDoc->m_pBaseInfoSet->IsEOF())
						{
							if(pDoc->m_pActiveSet->m_ID == pDoc->m_pBaseInfoSet->m_ID)
							{
								if(!IsDiplay(pDoc->m_pBaseInfoSet->m_ID))
									DisplayRecord();
								nFlag++;
								break;
							}
							pDoc->m_pBaseInfoSet->MoveNext();
							pDoc->m_pFamilySet->MoveNext();
							pDoc->m_pUnitSet->MoveNext();
							pDoc->m_pContactSet->MoveNext();
						}
					}
					pDoc->m_pActiveSet->MoveNext();
				}
			}
			break;
		}
	case 6:
		{
			if(!(pDoc->m_pBaseInfoSet->IsBOF()&&pDoc->m_pBaseInfoSet->IsEOF()))
			{
				while(!pDoc->m_pBaseInfoSet->IsEOF())
				{
					if(pDoc->SearchRemark(m_pFindDlg->m_nField, m_pFindDlg->m_nCondition, m_pFindDlg->m_strText))
					{
						DisplayRecord();
						nFlag++;
					}
					pDoc->m_pBaseInfoSet->MoveNext();
					pDoc->m_pFamilySet->MoveNext();
					pDoc->m_pUnitSet->MoveNext();
					pDoc->m_pContactSet->MoveNext();
					pDoc->m_pRemarkSet->MoveNext();
				}
			}
			break;
		}
	}

	EndWaitCursor();
	
	if(nFlag==0)
	{
		MessageBox("很遗憾,没找到!","查找结果",MB_ICONASTERISK);
	}
}

void CMyALView::OnDisplaypart() 
{
	BeginWaitCursor();

	CListCtrl &ListCtrl = GetListCtrl();
	
	int i,nState;
	int nItemSelected = ListCtrl.GetSelectedCount();
	int nItemCount = ListCtrl.GetItemCount();	
	if(nItemSelected<1) return;
	
	CString strID;
	for(i=0;i<nItemCount;i++)
	{	
		nState=ListCtrl.GetItemState(i,LVIS_SELECTED);	
		if(nState!=0) 
		{
			strID = ListCtrl.GetItemText(i,0);
			break;
		}
	}
	
	int nLen = strID.GetLength();
	LPCSTR lpszBuf = strID.GetBuffer(nLen);
	long lID = atol(lpszBuf);
	
	CMyALDoc* pDoc = GetDocument();
	pDoc->DisplayRecord(lID);	
}

BOOL CMyALView::IsDiplay(long lID)
{
	CListCtrl &ListCtrl = GetListCtrl();
	int nCount = ListCtrl.GetItemCount();
	char str[10];
	ltoa(lID,str,10);
	for(int n=0; n<nCount; n++)
	{
		if(str == ListCtrl.GetItemText(n,0))
			return TRUE;
	}
	return FALSE;
}

void CMyALView::OnBrower() 
{
	BeginWaitCursor();
	DeleteAllItems();
	DisplayAllRecord();
	EndWaitCursor();
}

void CMyALView::OnUpdateDisplaypart(CCmdUI* pCmdUI) 
{
	CListCtrl &ListCtrl = GetListCtrl();
	int nItemSelected = ListCtrl.GetSelectedCount();

	pCmdUI->Enable(nItemSelected>0);
}

void CMyALView::OnSortid() 
{
	m_nSortNumber = 0;
	SortColumn( 0, FALSE);
}

void CMyALView::OnUpdateSortid(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio(m_nSortNumber == 0);
}

void CMyALView::OnSortname() 
{
	m_nSortNumber = 1;
	SortColumn( 1, FALSE);
}

void CMyALView::OnUpdateSortname(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio(m_nSortNumber == 1);
}

void CMyALView::OnCotactTel() 
{
	m_nSortNumber = 2;
	SortColumn( 2, FALSE);
}

void CMyALView::OnUpdateCotactTel(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio(m_nSortNumber == 2);
}

void CMyALView::OnFamilyTel() 
{
	m_nSortNumber = 3;
	SortColumn( 3, FALSE);
}

void CMyALView::OnUpdateFamilyTel(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio(m_nSortNumber == 3);
}

void CMyALView::OnUnitTel() 
{
	m_nSortNumber = 4;
	SortColumn( 4, FALSE);
}

void CMyALView::OnUpdateUnitTel(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio(m_nSortNumber == 4);
}

void CMyALView::OnHandset() 
{
	m_nSortNumber = 5;
	SortColumn( 5, FALSE);
}

void CMyALView::OnUpdateHandset(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio(m_nSortNumber == 5);
}

void CMyALView::OnEmail() 
{
	m_nSortNumber = 6;
	SortColumn( 6, FALSE);
}

void CMyALView::OnUpdateEmail(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio(m_nSortNumber == 6);
}
/*
void CMyALView::OnAscending() 
{
	SetItemSortState(m_nSortNumber, ASCENDING);
	SortColumn( m_nSortNumber, FALSE);
}

void CMyALView::OnUpdateAscending(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio((GetItemSortState(m_nSortNumber) == ASCENDING));
}

void CMyALView::OnDegression() 
{	
	SetItemSortState(m_nSortNumber, DESCENDING);
	SortColumn( m_nSortNumber, FALSE);
}

void CMyALView::OnUpdateDegression(CCmdUI* pCmdUI) 
{
	pCmdUI->SetRadio((GetItemSortState(m_nSortNumber) == DESCENDING));
}
*/

⌨️ 快捷键说明

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