亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? abcview.cpp

?? 金山詞霸界面的數據庫管
?? CPP
字號:
// AbcView.cpp : implementation of the CAbcView class
//

#include "stdafx.h"
#include "Abc.h"

#include "AbcDoc.h"
#include "AbcView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAbcView

IMPLEMENT_DYNCREATE(CAbcView, CListView)

BEGIN_MESSAGE_MAP(CAbcView, CListView)
	//{{AFX_MSG_MAP(CAbcView)
	ON_NOTIFY_REFLECT(LVN_COLUMNCLICK, OnColumnclick)
	ON_COMMAND(ID_SET_FONT, OnSetFont)
	ON_COMMAND(ID_RECORD_ADD, OnRecordAdd)
	ON_COMMAND(ID_RECORD_SEARCH, OnRecordSearch)
	ON_COMMAND(ID_RECORD_SHOWALL, OnRecordShowall)
	ON_UPDATE_COMMAND_UI(ID_RECORD_SHOWALL, OnUpdateRecordShowall)
	ON_COMMAND(ID_RECORD_DEL, OnRecordDel)
	ON_COMMAND(ID_RECORD_EDIT, OnRecordEdit)
	ON_UPDATE_COMMAND_UI(ID_RECORD_DEL, OnUpdateRecordDel)
	ON_UPDATE_COMMAND_UI(ID_RECORD_EDIT, OnUpdateRecordEdit)
	ON_COMMAND(ID_EXPORTDATA, OnExportData)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CListView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CListView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CListView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAbcView construction/destruction

CAbcView::CAbcView()
{
	// TODO: add construction code here

}

CAbcView::~CAbcView()
{
}

BOOL CAbcView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CListView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CAbcView drawing

void CAbcView::OnDraw(CDC* pDC)
{
	CAbcDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
}

void CAbcView::OnInitialUpdate()
{
	CListView::OnInitialUpdate();


	// TODO: You may populate your ListView with items by directly accessing
	//  its list control through a call to GetListCtrl().
	CListCtrl &ctl=GetListCtrl();
	ctl.ModifyStyle(0,LVS_REPORT|LVS_SINGLESEL);
	ctl.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	
	
	m_pSet=&GetDocument()->m_dataSet;
	if(m_pSet->IsOpen())
		m_pSet->Close();
	m_pSet->Open();
    GetDocument()->SetTitle(m_pSet->m_pCfgInfo->szDaoFilePath);	
	m_pFont=new CFont;
	m_pFont->CreateFontIndirect(&(m_pSet->m_pCfgInfo->lfViewFont));
	ctl.SetFont(m_pFont);
	ctl.SetTextColor(m_pSet->m_pCfgInfo->crFontColor);	
	
	CString str;
	str.LoadString(IDS_SERIAL);
	ctl.InsertColumn(0,str);
	
	CDaoFieldInfo fieldInfo;
	for(short i=0;i<m_pSet->m_nFields;i++)
	{
	    m_pSet->GetFieldInfo(i,fieldInfo);
		ctl.InsertColumn(i+1,fieldInfo.m_strName);
	}
	
	m_bIsAsc=TRUE;
	m_bIsShowAll=TRUE;
	ShowTableData();
}

/////////////////////////////////////////////////////////////////////////////
// CAbcView printing

BOOL CAbcView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CAbcView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CAbcView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CAbcView diagnostics

#ifdef _DEBUG
void CAbcView::AssertValid() const
{
	CListView::AssertValid();
}

void CAbcView::Dump(CDumpContext& dc) const
{
	CListView::Dump(dc);
}

CAbcDoc* CAbcView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CAbcDoc)));
	return (CAbcDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CAbcView message handlers

void CAbcView::ShowTableData()
{
	CListCtrl &ctl=GetListCtrl();
	ctl.DeleteAllItems();

	m_pSet->MoveFirst();
	int i=0;
	int nMaxWidthColumn0=0,nMaxWidthColumn1=0,nMaxWidthColumn2=0;
	while(!m_pSet->IsEOF())
	{
		LV_ITEM lvItem;
		lvItem.mask = LVIF_TEXT;
		lvItem.iItem = i;
		
		lvItem.iSubItem=0;
		CString str;
		str.Format("%d",i+1); //序號列
		lvItem.pszText=(LPTSTR)(LPCTSTR)str;
		if(ctl.GetStringWidth(lvItem.pszText)>nMaxWidthColumn0)
			nMaxWidthColumn0=ctl.GetStringWidth(lvItem.pszText);
		ctl.InsertItem(&lvItem);
	
		lvItem.iSubItem = 1;
		lvItem.pszText=(LPTSTR)(LPCTSTR)(m_pSet->m_column1);
		if(ctl.GetStringWidth(lvItem.pszText)>nMaxWidthColumn1)
			nMaxWidthColumn1=ctl.GetStringWidth(lvItem.pszText);
		ctl.SetItem(&lvItem);
		
		lvItem.iSubItem=2;
		lvItem.pszText=(LPTSTR)(LPCTSTR)(m_pSet->m_column2);
		if(ctl.GetStringWidth(lvItem.pszText)>nMaxWidthColumn2)
			nMaxWidthColumn2=ctl.GetStringWidth(lvItem.pszText);
		ctl.SetItem(&lvItem);
		i++;
		m_pSet->MoveNext();
	}
	ctl.SetColumnWidth(0,nMaxWidthColumn0+30);
	ctl.SetColumnWidth(1,nMaxWidthColumn1+30);
    ctl.SetColumnWidth(2,nMaxWidthColumn2+30);
    m_pSet->MoveFirst();

}

void CAbcView::Sort(BOOL isAsc)
{
	CDaoFieldInfo fieldInfo;
	m_pSet->GetFieldInfo(0,fieldInfo);
	if(isAsc)
	{
		m_pSet->m_strSort=fieldInfo.m_strName+" ASC";
		m_bIsAsc=TRUE;
	}
	else
	{
		m_pSet->m_strSort=fieldInfo.m_strName+" DESC";
		m_bIsAsc=FALSE;
	}
	m_pSet->Requery();	

}

void CAbcView::OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	if(pNMListView->iSubItem==1)
	{
		Sort(!m_bIsAsc);
		ShowTableData();
	}

	*pResult = 0;
}

void CAbcView::OnSetFont() 
{
	// TODO: Add your command handler code here
    CListCtrl &ctl=GetListCtrl();
	
	LOGFONT lf;
	GetFont()->GetLogFont(&lf);
    CFontDialog fdlg(&lf);
	fdlg.m_cf.rgbColors=ctl.GetTextColor();
	if(fdlg.DoModal()==IDOK)
	{
			m_pFont=new CFont;
			m_pFont->CreateFontIndirect(fdlg.m_cf.lpLogFont);
			SetFont(m_pFont);
			m_pSet->m_pCfgInfo->lfViewFont=*(fdlg.m_cf.lpLogFont);
		
			ctl.SetTextColor(fdlg.m_cf.rgbColors);
			m_pSet->m_pCfgInfo->lfViewFont=*(fdlg.m_cf.lpLogFont);
		
			m_pSet->UpdateCfgInfo();
		
	}
	
}

void CAbcView::OnRecordAdd() 
{
	// TODO: Add your command handler code here
	CRecordAddDlg addDlg;
	if(addDlg.DoModal()==IDOK)
	{
		if(addDlg.m_strEnglish.IsEmpty())
			return;
		addDlg.m_strEnglish.TrimLeft();
		addDlg.m_strEnglish.TrimRight();
		addDlg.m_strChinese.TrimLeft();
		addDlg.m_strChinese.TrimRight();
		m_pSet->AddNew();
		m_pSet->m_column1=addDlg.m_strEnglish;
		m_pSet->m_column2=addDlg.m_strChinese;
		m_pSet->Update();
		Sort(m_bIsAsc);
		ShowTableData();
	}
	
}

void CAbcView::OnRecordSearch() 
{
	// TODO: Add your command handler code here
	CRecordSearchDlg searchDlg;
	if(searchDlg.DoModal()==IDOK)
	{
		if(searchDlg.m_strEnglish.IsEmpty())
			return;
        ASSERT(m_pSet->CanRestart());
		searchDlg.m_strEnglish.MakeLower();
		m_bIsShowAll=FALSE;
		CDaoFieldInfo fieldInfo;
	    m_pSet->GetFieldInfo(0,fieldInfo);
		m_pSet->m_strFilter=fieldInfo.m_strName+" = "+"'"+searchDlg.m_strEnglish+"'";
	    m_pSet->Requery();
		ShowTableData();
	
	}
	
	
}
//顯示數據庫中的全部數據
void CAbcView::OnRecordShowall() 
{
	// TODO: Add your command handler code here
	if(m_bIsShowAll)
		return;
	m_pSet->m_strFilter.Empty();
	m_pSet->Requery();
	ShowTableData();
	m_bIsShowAll=TRUE;
}

void CAbcView::OnUpdateRecordShowall(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	if(m_bIsShowAll)
		pCmdUI->Enable(FALSE);
	else
		pCmdUI->Enable();

}

void CAbcView::OnRecordDel() 
{
	// TODO: Add your command handler code here
	CListCtrl &ctl=GetListCtrl();
	POSITION pos=ctl.GetFirstSelectedItemPosition();
	if(pos==NULL)
		return;
	int nItem=ctl.GetNextSelectedItem(pos);
	m_pSet->Move(nItem);
	CString str1,str2;
	str1.LoadString(IDS_WARN_1);
	str2.LoadString(IDS_WARN_2);
	str1=str1+m_pSet->m_column1+": "+m_pSet->m_column2+str2;
	
	if(AfxMessageBox(str1,MB_YESNO|MB_ICONEXCLAMATION)==IDYES)
	{
		m_pSet->Delete();
		m_pSet->MoveFirst();
		ShowTableData();
	}
}

void CAbcView::OnRecordEdit() 
{
	// TODO: Add your command handler code here
	CListCtrl &ctl=GetListCtrl();
	POSITION pos=ctl.GetFirstSelectedItemPosition();
	if(pos==NULL)
		return;
	int nItem=ctl.GetNextSelectedItem(pos);
	m_pSet->Move(nItem);
	CRecordEditDlg editDlg;
	editDlg.m_strEnglish=m_pSet->m_column1;
	editDlg.m_strChinese=m_pSet->m_column2;

	if(editDlg.DoModal()==IDOK)
	{
		m_pSet->Edit();
		m_pSet->m_column1=editDlg.m_strEnglish;
		m_pSet->m_column2=editDlg.m_strChinese;
		m_pSet->Update();
		ShowTableData();
	}
}

void CAbcView::OnUpdateRecordDel(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	CListCtrl &ctl=GetListCtrl();
	POSITION pos=ctl.GetFirstSelectedItemPosition();
	if(pos==NULL)
		pCmdUI->Enable(FALSE);
	else
		pCmdUI->Enable();
}

void CAbcView::OnUpdateRecordEdit(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
	CListCtrl &ctl=GetListCtrl();
	POSITION pos=ctl.GetFirstSelectedItemPosition();
	if(pos==NULL)
		pCmdUI->Enable(FALSE);
	else
		pCmdUI->Enable();
}





void CAbcView::OnExportData() 
{
	// TODO: Add your command handler code here
	
	CString strFilter;
	strFilter.LoadString(IDS_SAVE_FILEFILTER);
    CString strExt;
	strExt.LoadString(IDS_SAVE_DEFAULTEXT);
	CFileDialog flDlg(FALSE,strExt,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,strFilter);
	CString  strTitle;
	strTitle.LoadString(IDS_SAVE_FILEDIALOG_TITLE);
	flDlg.m_ofn.lpstrTitle=strTitle;

	if(flDlg.DoModal()==IDOK)
	{
		CString strFilePath=flDlg.GetPathName();
		CStdioFile file;
		if(!file.Open(strFilePath,CFile::modeCreate|CFile::modeReadWrite))
			return;
		long pos=m_pSet->GetAbsolutePosition();
		long count=m_pSet->GetRecordCount();
	    if(count>0)
		{
			m_pSet->MoveFirst();
			CDaoFieldInfo fieldInfo;
			m_pSet->GetFieldInfo(0,fieldInfo);
			long length=fieldInfo.m_lSize;
			while(!m_pSet->IsEOF())
			{
				CString str1,str2;
				str1=m_pSet->m_column1;
				str2=m_pSet->m_column2;
				str1.TrimLeft(); 
				str2.TrimLeft(); str2.TrimRight();

				int n=str1.GetLength();
				if(n<length)
					for(long j=0;j<=length-n;j++)
						str1+=" ";
				
				CString strWrite;
				strWrite=str1+str2+"\n";
				file.WriteString(strWrite);
				m_pSet->MoveNext();
			}
			m_pSet->SetAbsolutePosition(pos);
			file.Close();
		}
	}
		

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品视频线看| 日韩欧美色电影| 成人少妇影院yyyy| 国产一区欧美二区| 国产精品自拍av| 国产毛片精品视频| 高清在线观看日韩| 豆国产96在线|亚洲| aaa亚洲精品| 色婷婷亚洲婷婷| 欧美日韩一区二区电影| 欧美日韩亚洲综合| 欧美疯狂性受xxxxx喷水图片| 欧美私模裸体表演在线观看| 欧美精品自拍偷拍动漫精品| 91精品麻豆日日躁夜夜躁| 日韩欧美的一区| 久久你懂得1024| 国产精品国产三级国产三级人妇| 中文字幕一区av| 亚洲综合成人网| 丝袜美腿亚洲一区| 国产二区国产一区在线观看 | 日本高清视频一区二区| 欧美色窝79yyyycom| 欧美一级二级在线观看| 久久新电视剧免费观看| 亚洲人成网站影音先锋播放| 日日夜夜精品视频天天综合网| 久久超碰97中文字幕| 97aⅴ精品视频一二三区| 6080日韩午夜伦伦午夜伦| 久久久精品天堂| 亚洲v日本v欧美v久久精品| 九九在线精品视频| 91国在线观看| 久久精品一区二区三区四区| 亚洲自拍欧美精品| 国产福利91精品一区二区三区| 欧美视频在线一区二区三区| 久久精品亚洲精品国产欧美 | 亚洲男人电影天堂| 全国精品久久少妇| 91色九色蝌蚪| 精品国产乱码久久久久久久| 亚洲精品一二三四区| 国产精品影视在线观看| 欧美理论在线播放| 中文字幕亚洲成人| 国产一区二区三区四区五区美女 | 日韩三级视频中文字幕| 玉足女爽爽91| 成人h精品动漫一区二区三区| 欧美日本视频在线| 伊人性伊人情综合网| www.欧美色图| 国产视频一区不卡| 精品综合久久久久久8888| 欧美日韩一区二区三区在线看| 国产精品久久久久久久久果冻传媒| 精品在线你懂的| 日韩一区二区不卡| 天堂在线亚洲视频| 欧美视频在线一区二区三区| 伊人色综合久久天天人手人婷| 成人av网站免费观看| 国产色产综合产在线视频| 韩国一区二区视频| 精品美女一区二区三区| 日韩高清国产一区在线| 欧美一区二区三区视频| 亚洲国产精品一区二区久久 | 欧美久久一二区| 亚洲国产欧美日韩另类综合| 欧美亚日韩国产aⅴ精品中极品| 亚洲靠逼com| 色婷婷久久久久swag精品| 亚洲人成小说网站色在线| av电影天堂一区二区在线| 亚洲天堂成人在线观看| 成人av高清在线| 亚洲色大成网站www久久九九| av电影在线观看完整版一区二区| 中文字幕日本乱码精品影院| 99精品久久久久久| 亚洲一线二线三线视频| 欧美视频在线观看一区| 日韩精品91亚洲二区在线观看| 91精品国产色综合久久不卡蜜臀| 秋霞电影一区二区| 日韩免费性生活视频播放| 国产精品一区二区在线观看网站 | 欧美第一区第二区| 激情六月婷婷久久| 国产精品卡一卡二| 欧美影院精品一区| 乱一区二区av| 国产精品美女久久久久久2018| 91网站在线播放| 天天色天天操综合| 国产欧美一区二区精品仙草咪| 91丝袜美女网| 日本午夜一本久久久综合| 久久精品一区二区三区四区| 成人成人成人在线视频| 偷窥少妇高潮呻吟av久久免费| 日韩一卡二卡三卡四卡| 成人a区在线观看| 日本不卡一二三| 最新日韩av在线| 日韩欧美色综合| 色视频一区二区| 国产一区欧美一区| 亚洲综合无码一区二区| 精品久久久久久综合日本欧美| 欧美色区777第一页| 精品综合免费视频观看| 亚洲久草在线视频| 久久精品无码一区二区三区| 91福利在线观看| 国产精品77777竹菊影视小说| 一区二区三区成人在线视频| 久久久久9999亚洲精品| 在线播放/欧美激情| av不卡在线播放| 国产福利91精品| 精品写真视频在线观看| 亚洲成在线观看| 亚洲欧美成aⅴ人在线观看| 精品国产一区二区三区久久影院| 在线视频国内一区二区| 成人一道本在线| 狠狠狠色丁香婷婷综合激情| 日本成人在线看| 亚洲成人av一区二区| 亚洲视频中文字幕| 国产精品视频观看| 久久久久成人黄色影片| 欧美精品一区视频| 日韩欧美亚洲一区二区| 日韩欧美中文字幕精品| 在线播放91灌醉迷j高跟美女| 欧美亚男人的天堂| 欧美视频完全免费看| 在线观看区一区二| 在线观看不卡一区| 欧美在线免费播放| 一本大道久久精品懂色aⅴ| 99久久精品国产精品久久| 成人avav在线| aaa亚洲精品| 91电影在线观看| 欧美日韩一级片在线观看| 欧美探花视频资源| 欧美日韩在线播放三区| 在线观看91av| 欧美一级黄色大片| 久久在线免费观看| 久久亚洲综合色| 中文字幕不卡在线播放| 国产精品成人免费在线| 亚洲色图视频网| 亚洲午夜电影网| 日本不卡不码高清免费观看 | 国产偷国产偷精品高清尤物| 26uuu亚洲综合色| 久久久99久久精品欧美| 国产精品伦一区| 一区二区三区丝袜| 午夜精品福利视频网站| 日本不卡一区二区三区| 蜜臀av性久久久久av蜜臀妖精 | 中文字幕一区二区日韩精品绯色| 国产精品你懂的| 亚洲一级电影视频| 秋霞电影网一区二区| 粉嫩嫩av羞羞动漫久久久| 91蜜桃免费观看视频| 欧美精品国产精品| 久久影院视频免费| 亚洲久本草在线中文字幕| 免费观看日韩av| 91视频在线观看免费| 91精品国产一区二区三区蜜臀| 国产嫩草影院久久久久| 亚洲综合在线第一页| 狠狠色狠狠色综合日日91app| 成人性视频免费网站| 欧美日韩一区二区电影| 中文字幕免费一区| 三级成人在线视频| 本田岬高潮一区二区三区| 欧美美女一区二区三区| 中文字幕一区二区三区四区| 蜜芽一区二区三区| 91网址在线看| 日本一区二区三区电影| 天天操天天色综合| 91丨porny丨在线| 久久亚洲捆绑美女|