📄 ucldlg.cpp
字号:
// UclDlg.cpp : implementation file
//
#include "stdafx.h"
#include "filesend.h"
#include "UclDlg.h"
#include "DataSource.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CUclDlg dialog
CUclDlg::CUclDlg(CWnd* pParent /*=NULL*/)
: CDialog(CUclDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CUclDlg)
//}}AFX_DATA_INIT
}
void CUclDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CUclDlg)
DDX_Control(pDX, IDC_uclfilename, m_uclfilename);
DDX_Control(pDX, IDC_BTUPDATE, m_btupdate);
DDX_Control(pDX, IDC_BTPREVIS, m_btpre);
DDX_Control(pDX, IDC_BTNEXT, m_btnext);
DDX_Control(pDX, IDC_BTLAST, m_btlast);
DDX_Control(pDX, IDC_BTFIRST, m_btfirst);
DDX_Control(pDX, IDC_BTDELETE, m_btdelete);
DDX_Control(pDX, IDC_BTADD, m_btadd);
DDX_Control(pDX, IDC_URL, m_url);
DDX_Control(pDX, IDC_AUTHOR, m_author);
DDX_Control(pDX, IDC_TITLE, m_title);
DDX_Control(pDX, IDC_SUBJECT, m_subject);
DDX_Control(pDX, IDC_KEYWORDS, m_keywords);
DDX_Control(pDX, IDC_FREE, m_free);
DDX_Control(pDX, IDC_DATE, m_date);
DDX_Control(pDX, IDC_FILEID, m_fileid);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CUclDlg, CDialog)
//{{AFX_MSG_MAP(CUclDlg)
ON_BN_CLICKED(IDC_BTFIRST, OnBtfirst)
ON_BN_CLICKED(IDC_BTPREVIS, OnBtprevis)
ON_BN_CLICKED(IDC_BTNEXT, OnBtnext)
ON_BN_CLICKED(IDC_BTLAST, OnBtlast)
ON_BN_CLICKED(IDC_BTADD, OnBtadd)
ON_BN_CLICKED(IDC_BTDELETE, OnBtdelete)
ON_BN_CLICKED(IDC_BTUPDATE, OnBtupdate)
ON_EN_CHANGE(IDC_FILEID, OnChangeFileid)
ON_EN_CHANGE(IDC_AUTHOR, OnChangeAuthor)
ON_EN_CHANGE(IDC_URL, OnChangeUrl)
ON_EN_CHANGE(IDC_DATE, OnChangeDate)
ON_EN_CHANGE(IDC_TITLE, OnChangeTitle)
ON_EN_CHANGE(IDC_KEYWORDS, OnChangeKeywords)
ON_EN_CHANGE(IDC_SUBJECT, OnChangeSubject)
ON_EN_CHANGE(IDC_FREE, OnChangeFree)
ON_WM_CLOSE()
ON_BN_CLICKED(IDC_BTbrowse, OnBTbrowse)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CUclDlg message handlers
BOOL CUclDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_ds.InitData();
search();
// return TRUE unless you set the focus to a control
return TRUE; // EXCEPTION: OCX Property Pages should return FALSE
}
void CUclDlg::OnBtfirst()
{
// TODO: Add your control notification handler code here
m_ds.MoveFirst();
LoadData();
RefreshView();
}
void CUclDlg::OnBtprevis()
{
// TODO: Add your control notification handler code here
m_ds.MovePrev();
LoadData();
RefreshView();
}
void CUclDlg::OnBtnext()
{
// TODO: Add your control notification handler code here
m_ds.MoveNext();
LoadData();
RefreshView();
}
void CUclDlg::OnBtlast()
{
// TODO: Add your control notification handler code here
m_ds.MoveLast();
LoadData();
RefreshView();
}
void CUclDlg::OnBtadd()
{
// TODO: Add your control notification handler code here
CString m_temp;
m_uclfilename.GetWindowText(m_temp);
m_ds.New();
m_ds.SetAsString("位置",m_temp);
LoadData();
RefreshView();
}
void CUclDlg::OnBtdelete()
{
// TODO: Add your control notification handler code here
m_ds.Delete();
m_ds.MoveNext();
LoadData();
RefreshView();
}
//DEL void CUclDlg::OnBtclose()
//DEL {
//DEL // TODO: Add your control notification handler code here
//DEL //m_ds.~CDataSource();
//DEL CDialog::OnCancel();
//DEL }
void CUclDlg::OnBtupdate()
{
// TODO: Add your control notification handler code here
CString strTemp;
m_author.GetWindowText(strTemp);
m_ds.SetAsString("Author",strTemp);
m_date.GetWindowText(strTemp);
m_ds.SetAsString("Date",strTemp);
m_fileid.GetWindowText(strTemp);
m_ds.SetAsString("Fileid",strTemp);
m_free.GetWindowText(strTemp);
m_ds.SetAsString("Free",strTemp);
m_keywords.GetWindowText(strTemp);
m_ds.SetAsString("Keywords",strTemp);
m_subject.GetWindowText(strTemp);
m_ds.SetAsString("Subject",strTemp);
m_title.GetWindowText(strTemp);
m_ds.SetAsString("Title",strTemp);
m_url.GetWindowText(strTemp);
m_ds.SetAsString("URL",strTemp);
m_ds.Update();
m_btupdate.EnableWindow(FALSE);
}
void CUclDlg::LoadData()
{
m_author.SetWindowText(m_ds.GetAsString("Author"));
m_date.SetWindowText(m_ds.GetAsString("Date"));
m_fileid.SetWindowText(m_ds.GetAsString("Fileid"));
m_free.SetWindowText(m_ds.GetAsString("Free"));
m_keywords.SetWindowText(m_ds.GetAsString("Keywords"));
m_subject.SetWindowText(m_ds.GetAsString("Subject"));
m_title.SetWindowText(m_ds.GetAsString("Title"));
m_url.SetWindowText(m_ds.GetAsString("URL"));
}
void CUclDlg::RefreshView()
{
if(m_ds.IsBOF()||m_ds.IsEOF())
{
m_author.EnableWindow(FALSE);
m_date.EnableWindow(FALSE);
m_fileid.EnableWindow(FALSE);
m_free.EnableWindow(FALSE);
m_keywords.EnableWindow(FALSE);
m_subject.EnableWindow(FALSE);
m_title.EnableWindow(FALSE);
m_url.EnableWindow(FALSE);
}
else
{
m_author.EnableWindow(TRUE);
m_date.EnableWindow(TRUE);
m_fileid.EnableWindow(TRUE);
m_free.EnableWindow(TRUE);
m_keywords.EnableWindow(TRUE);
m_subject.EnableWindow(TRUE);
m_title.EnableWindow(TRUE);
m_url.EnableWindow(TRUE);
}
m_btupdate.EnableWindow(TRUE);
m_btpre.EnableWindow(TRUE);
m_btnext.EnableWindow(TRUE);
m_btlast.EnableWindow(TRUE);
m_btfirst.EnableWindow(TRUE);
m_btdelete.EnableWindow(TRUE);
m_btadd.EnableWindow(TRUE);
if(m_ds.IsFirst())
{
m_btfirst.EnableWindow(FALSE);
m_btpre.EnableWindow(FALSE);
}
if(m_ds.IsLast())
{
m_btnext.EnableWindow(FALSE);
m_btlast.EnableWindow(FALSE);
}
if(m_ds.IsEOF()&&m_ds.IsBOF())
{
m_btdelete.EnableWindow(FALSE);
}
RefreshUpdateBtn();
}
void CUclDlg::RefreshUpdateBtn()
{
if(IsNeedUpdate())
{
m_btupdate.EnableWindow(TRUE);
}
else
{
m_btupdate.EnableWindow(FALSE);
}
}
BOOL CUclDlg::IsNeedUpdate()
{
CString strTemp;
m_author.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("Author"))
return TRUE;
m_date.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("Date"))
return TRUE;
m_fileid.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("Fileid"))
return TRUE;
m_free.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("Free"))
return TRUE;
m_keywords.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("Keywords"))
return TRUE;
m_subject.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("Subject"))
return TRUE;
m_title.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("Title"))
return TRUE;
m_url.GetWindowText(strTemp);
if(strTemp!=m_ds.GetAsString("URL"))
return TRUE;
return FALSE;
}
void CUclDlg::OnChangeFileid()
{
RefreshUpdateBtn();
}
void CUclDlg::OnChangeAuthor()
{
RefreshUpdateBtn();
}
void CUclDlg::OnChangeUrl()
{
RefreshUpdateBtn();
}
void CUclDlg::OnChangeDate()
{
RefreshUpdateBtn();
}
void CUclDlg::OnChangeTitle()
{
RefreshUpdateBtn();
}
void CUclDlg::OnChangeKeywords()
{
RefreshUpdateBtn();
}
void CUclDlg::OnChangeSubject()
{
RefreshUpdateBtn();
}
void CUclDlg::OnChangeFree()
{
RefreshUpdateBtn();
}
BOOL CUclDlg::search()
{
while(!m_ds.IsFirst())
{
m_ds.MovePrev();
}
while(!m_ds.IsEOF())
{
if(m_ds.GetAsString("位置")==m_fileaddr)
{
m_author.SetWindowText(m_ds.GetAsString("Author"));
m_date.SetWindowText(m_ds.GetAsString("Date"));
m_fileid.SetWindowText(m_ds.GetAsString("Fileid"));
m_free.SetWindowText(m_ds.GetAsString("Free"));
m_keywords.SetWindowText(m_ds.GetAsString("Keywords"));
m_subject.SetWindowText(m_ds.GetAsString("Subject"));
m_title.SetWindowText(m_ds.GetAsString("Title"));
m_url.SetWindowText(m_ds.GetAsString("URL"));
RefreshView();
return TRUE;
}
else
{
m_ds.MoveNext();
}
}
::AfxMessageBox("没找到该信息,你可以输入信息把点击更新按钮存进去!");
m_ds.New();
LoadData();
RefreshView();
m_ds.SetAsString("位置",m_fileaddr);
return TRUE;
}
void CUclDlg::OnCancel()
{
// TODO: Add extra cleanup here
m_ds.~CDataSource();
CDialog::OnCancel();
}
//DEL int CUclDlg::DoModal()
//DEL {
//DEL // TODO: Add your specialized code here and/or call the base class
//DEL
//DEL return CDialog::DoModal();
//DEL }
int CUclDlg::DoModal()
{
// TODO: Add your specialized code here and/or call the base class
return CDialog::DoModal();
}
void CUclDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
CDialog::OnClose();
}
void CUclDlg::OnBTbrowse()
{
// TODO: Add your control notification handler code here
CFileDialog dlg(true);
if(dlg.DoModal()==IDOK)//如果测试到键被按下,则执行如下程序:
{
//sprintf(buffer+L+12,"%s",dlg.GetFileName());
m_uclfilename.SetWindowText(dlg.GetPathName());
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -