📄 supernotepaddlg.cpp
字号:
DoClickEvent(); // 执行单击事件
break;
case FLAG_TWO:
KillTimer( FLAG_TWO );
KillTimer( FLAG_ONE );
DoDbClickEvent(); // 执行双击事件
break;
case FLAG_THREE:
if (bIsJustDateTime)
{
KillTimer( FLAG_THREE );
ShowTipInfo(); // 显示提示信息
}
break;
default:
break;
}
}
catch ( ... )
{
KillTimer( nIDEvent );
}
CDialog::OnTimer( nIDEvent );
}
// 单击日历控件,设置定时器1
void CSuperNotepadDlg::OnDateClickMonthview(DATE DateClicked)
{
UINT uTimeID = this->SetTimer( FLAG_ONE, 200, NULL );
}
// 双击日历控件,设置定时器2
void CSuperNotepadDlg::OnDateDblClickMonthview(DATE DateDblClicked)
{
UINT uTimeID = this->SetTimer( FLAG_TWO, 100, NULL );
}
// 单击事件
void CSuperNotepadDlg::DoClickEvent()
{
m_nYear = m_ctrMonthView.GetYear(); // 取得年
m_nMonth = m_ctrMonthView.GetMonth(); // 取得月
m_nDay = m_ctrMonthView.GetDay(); // 取得日
m_csTimeData.Format( _T("%d年%d月%d日"), m_nYear, m_nMonth, m_nDay );
m_csEventEdit = m_csTimeData;
CString csFilePath = _T("");
csFilePath = SAVE_FILE_FOLDER;
csFilePath += _T("\\");
csFilePath += m_csTimeData;
csFilePath += _T(".sav");
GetDlgItem( IDC_EDIT_EVENT )->EnableWindow( TRUE );
GetDlgItem( IDC_EDIT_EVENT )->SetFocus();
BOOL bSetReadOnlyEdit = m_ctrlEditEvent.SetReadOnly( TRUE );
// 打开文件
if ( myFileSave.Open(csFilePath, CFile::modeRead|CFile::typeText, NULL) )
{
m_csBufferTime = ReadFromSaveFile(); // 读文件
m_csEventEdit = m_csBufferTime;
UpdateData(FALSE);
GetDlgItem( IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem( IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 你选定的这一天有纪录噢!") );
GetDlgItem( IDC_BUTTON_EDIT)->EnableWindow( TRUE );
}
else // 没有被保存的事件
{
m_csEventEdit = _T("");
UpdateData( FALSE );
GetDlgItem( IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem( IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 你选定的这一天没有纪录!") );
return;
}
}
// 双击事件
void CSuperNotepadDlg::DoDbClickEvent()
{
GetDlgItem( IDC_EDIT_EVENT )->EnableWindow( TRUE );
GetDlgItem( IDC_EDIT_EVENT )->SetFocus();
m_btnSave.EnableWindow( TRUE );
m_btnGiveUp.EnableWindow( TRUE );
if ( !m_csEventEdit.IsEmpty() ) // 存在事件
{
m_csEventEdit = _T("");
UpdateData( FALSE );
}
GetDlgItem( IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem( IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 开始记录新的内容啦!") );
BOOL bSetReadOnlyEdit = m_ctrlEditEvent.SetReadOnly( FALSE );
m_nYear = m_ctrMonthView.GetYear(); // 取得年
m_nMonth = m_ctrMonthView.GetMonth(); // 取得月
m_nDay = m_ctrMonthView.GetDay(); // 取得日
m_csCurrentTime.Format( _T("%d年%d月%d日"), m_nYear, m_nMonth, m_nDay );
}
// 保存信息
void CSuperNotepadDlg::OnButtonSave()
{
CFileFind finder;
BOOL bFinded = finder.FindFile( SAVE_FILE_FOLDER ); // 查找保存文件夹
if ( !bFinded )
{
BOOL bSuccCreate = CreateDirectory( SAVE_FILE_FOLDER, NULL ) ;
if ( !bSuccCreate ) // 创建保存文件夹失败
{
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 创建文件夹失败!") );
}
}
UpdateData( TRUE );
if ( m_csEventEdit.IsEmpty() ) // 事件编辑框为空
{
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 你没有写内容,保存没有意义!") );
GetDlgItem( IDC_EDIT_EVENT )->SetFocus();
return;
}
if ( m_bIsEdit ) // 需要编辑
{
m_nYear = m_ctrMonthView.GetYear();
m_nMonth = m_ctrMonthView.GetMonth();
m_nDay = m_ctrMonthView.GetDay();
m_csTimeData.Format( _T("%d年%d月%d日"), m_nYear, m_nMonth, m_nDay );
CString csFilePath = _T("");
csFilePath = SAVE_FILE_FOLDER;
csFilePath += _T("\\");
csFilePath += m_csTimeData;
csFilePath += _T(".sav");
// 打开文件
if( !myFileSave.Open( csFilePath, CFile::modeCreate|CFile::modeWrite|
CFile::typeText|CFile::modeNoTruncate,NULL) )
{
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 打开文件失败!") );
return;
}
myFileSave.SetLength( 0 ); // 清空原来的文件内容
}
else // 用户新输入的事件
{
CString csFilePath = _T("");
csFilePath = SAVE_FILE_FOLDER;
csFilePath += _T("\\");
csFilePath += m_csCurrentTime;
csFilePath += _T(".sav");
// 打开文件
if( !myFileSave.Open( csFilePath, CFile::modeCreate|CFile::modeWrite|
CFile::typeText|CFile::modeNoTruncate,NULL) )
{
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 打开文件失败!") );
return;
}
myFileSave.SeekToEnd(); // 文件句柄移动到文件最后
}
m_csEventEdit = m_csEventEdit + _T("\r\n");
myFileSave.WriteString( m_csEventEdit ); // 写文件
myFileSave.Close(); // 关闭文件
m_btnSave.EnableWindow(FALSE);
m_btnGiveUp.EnableWindow(FALSE);
m_bSave = true;
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 保存成功!") );
GetDlgItem( IDC_BUTTON_EDIT)->EnableWindow( TRUE );
m_bIsEdit = false;
}
// 不保存信息
void CSuperNotepadDlg::OnButtonGiveup()
{
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 你没有保存内容!") );
}
// 清空编辑框中的信息
void CSuperNotepadDlg::OnButtonClearEvent()
{
UpdateData();
if ( !m_csEventEdit.IsEmpty() ) // 编辑框不为空
{
m_csEventEdit = _T("");
UpdateData( FALSE );
GetDlgItem( IDC_EDIT_EVENT )->SetFocus();
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 你已经将文本框里的内容清空了!") );
}
else // 编辑框为空
{
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 没有内容,点击清除没有意义!") );
}
}
// 用户使用说明
void CSuperNotepadDlg::OnMenuitemHelpExplain()
{
CUseExplain UseWindow;
UseWindow.DoModal();
}
// 介绍开发人员
void CSuperNotepadDlg::OnMenuitemHelpAboutDeveloper()
{
CAboutSuperNotepad AboutDlg;
AboutDlg.DoModal();
}
// 编辑信息
void CSuperNotepadDlg::OnButtonEdit()
{
UpdateData( TRUE );
if ( m_csEventEdit.IsEmpty() ) // 事件编辑框为空
{
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 没有内容,点击编辑没有意义!") );
return;
}
m_bIsEdit = true;
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 开始编辑内容啦!") );
BOOL bSetReadOnlyEdit = m_ctrlEditEvent.SetReadOnly( FALSE );
GetDlgItem( IDC_EDIT_EVENT )->SetFocus();
// 改变其他按钮的状态,变为可用
m_btnSave.EnableWindow( TRUE );
m_btnGiveUp.EnableWindow( TRUE );
m_btnClear.EnableWindow( TRUE );
}
// 随着文本框中文字的变化,改变保存和放弃按钮的状态
void CSuperNotepadDlg::OnChangeEditEvent()
{
m_btnSave.EnableWindow( TRUE );
m_btnGiveUp.EnableWindow( TRUE );
}
// 取得一周的天数
CString CSuperNotepadDlg::GetDayInOneWeek(int nDayofWeek)
{
CString csWeekDay = _T("");
switch ( nDayofWeek )
{
case 1:
csWeekDay = _T("星期天");
break;
case 2:
csWeekDay = _T("星期一");
break;
case 3:
csWeekDay = _T("星期二");
break;
case 4:
csWeekDay = _T("星期三");
break;
case 5:
csWeekDay = _T("星期四");
break;
case 6:
csWeekDay = _T("星期五");
break;
case 7:
csWeekDay = _T("星期六");
break;
default:
break;
}
return csWeekDay;
}
// 显示定时提醒
void CSuperNotepadDlg::OnButtonRegularTip()
{
// TODO: Add your control notification handler code here
// 设置定时器
SetTimer( FLAG_THREE, 1000, NULL );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("") );
GetDlgItem(IDC_STATIC_HIP_CONTENTS)->SetWindowText( _T("^_^ 你打算让系统定时提醒你啦!") );
// 显示定时提醒对话框
CRegularTipDlg RegularTipDlg;
RegularTipDlg.DoModal();
}
// 显示提示信息
void CSuperNotepadDlg::ShowTipInfo()
{
CTipInfoDlg TipInfoDlg;
TipInfoDlg.DoModal();
}
// 时间比较函数, 判断时间是否已到
BOOL CSuperNotepadDlg::CompareDateTime()
{
CTime CurrentTime = CTime::GetCurrentTime(); // 取得当前时间
CString csTime = CurrentTime.Format("%H:%M:%S");
CString csDate = _T("");
csDate.Format(_T("%d-%d-%d"),
CurrentTime.GetYear(),
CurrentTime.GetMonth(),
CurrentTime.GetDay());
CString csTempDate = _T("");
CString csTempTime = _T("");
CMySingletonClass *pMyInstance = CMySingletonClass::GetInstance();
csTempDate = pMyInstance->m_csTipDate;
if (csTempDate.CompareNoCase(csDate) == 0) // 比较日期
{
csTempTime = pMyInstance->m_csTipTime;
if (csTempTime.CompareNoCase(csTime) == 0) // 比较时间
{
return TRUE;
}
}
return FALSE;
}
// 菜单中的退出
void CSuperNotepadDlg::OnMenuSystemQuit()
{
DestroyWindow();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -