48323 (Проект текстового редактора), страница 3
Описание файла
Документ из архива "Проект текстового редактора", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48323"
Текст 3 страницы из документа "48323"
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
// The system calls this function to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CMenuDlg::OnQueryDragIcon()
{
return static_cast(m_hIcon);
}
void CMenuDlg::OnSozdat()//Создать ------------------------------
{
CString str_77 , strText;
CString str_r;
m_Edit1.GetWindowText(str_r);
if (str_r == _T(""))
{
//Beep(1000,100);
}
else if (str_r != _T(""))
{
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот(Alexa)"), MB_YESNOCANCEL | MB_ICONWARNING);
if (uRes == IDYES)
{
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(fileDlg.DoModal() == IDOK)
{
CStdioFile f;
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
{
MessageBox("Не могу сохранить файл");
return;
}
/*while (f.ReadString(str_77))
{
if (!strText.IsEmpty())
strText += "\r\n";
strText += str_77;
}*/
CString str;
m_Edit1.GetWindowText(str);
f.Write(str, str.GetLength());
f.Close();
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T("-Блокнот(Alexa)"));
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->SetSel(0,-1);
mEdit->Clear();
//m_strPath = _T("Безымянный");
SetWindowText(_T("Безымянный-Блокнот(Alexa)"));
}
}
if (uRes == IDNO)
{
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->SetSel(0,-1);
mEdit->Clear();
//m_strPath = _T("Безымянный");
SetWindowText(_T("Безымянный-Блокнот(Alexa)"));
}
}
}
BOOL CMenuDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message >= WM_KEYFIRST && pMsg->message <= WM_KEYLAST)
return ::TranslateAccelerator(m_hWnd, m_hAccel, pMsg);
return CDialog::PreTranslateMessage(pMsg);
}
void CMenuDlg::OnWixod()//Выход--------------------------------------------
{CString str_77, strText;
CString str_r;
CStdioFile f;
m_Edit1.GetWindowText(str_r);
if (str_r == _T(""))
{
EndDialog(0);
return;
}
else if (str_r != _T(""))
{
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот"), MB_YESNOCANCEL | MB_ICONWARNING);
if (uRes == IDYES)
{
//CString path;
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(fileDlg.DoModal() == IDOK)
{
//path = fdlg.GetPathName();
//CFile f;
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
{
MessageBox("Не могу сохранить файл");
return;
}
while (f.ReadString(str_77))
{
if (!strText.IsEmpty())
strText += "\r\n";
strText += str_77;
}
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T("-Блокнот"));
}
}
if (uRes == IDNO)
{
EndDialog(0);
//CDialog::OnClose();
}
if (uRes == IDCANCEL)
{
}
}
}
void CMenuDlg::OnOtkrit()//Открыть----------------------------------------
{
CString str_77 , strText;
CStdioFile f;
CString str_r;
m_Edit1.GetWindowText(str_r);
if (str_r == _T(""))
{
CFileDialog fileDlg(TRUE, _T(".txt"), NULL,
OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST,
_T("All Files (*.*) |*.*| Text Files(*.txt) | *.txt| Word Files(*.doc) |*.doc|"));
if (fileDlg.DoModal() == IDOK)
{
if (!f.Open(fileDlg.GetPathName(), CFile::modeRead | CFile::typeText))
{
MessageBox("Не могу открыть файл");
return;
}
while (f.ReadString(str_77))
{
if (!strText.IsEmpty())
strText += "\r\n";
strText += str_77;
}
/*CString str;
m_Edit1.GetWindowText(str);
f.Write(str, str.GetLength());
f.Close();*/
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T("-Блокнот"));
}
}
else if (str_r != _T(""))
{
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот"), MB_YESNOCANCEL | MB_ICONWARNING);
if (uRes == IDYES)
{
//CString path;
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(fileDlg.DoModal() == IDOK)
{
//path = fdlg.GetPathName();
//CFile f;
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
{
MessageBox("Не могу сохранить файл");
return;
}
while (f.ReadString(str_77))
{
if (!strText.IsEmpty())
strText += "\r\n";
strText += str_77;
}
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T("-Блокнот"));
}
CFileDialog fileDlg1(TRUE, _T(".txt"), NULL,
OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST,
_T("All Files (*.*) |*.*| Text Files(*.txt) | *.txt| Word Files(*.doc) |*.doc|"));
if (fileDlg1.DoModal() == IDOK)
{
if (!f.Open(fileDlg1.GetPathName(), CFile::modeRead | CFile::typeText))
{
MessageBox("Не могу открыть файл");
return;
}
while (f.ReadString(str_77))
{
if (!strText.IsEmpty())
strText += "\r\n";
strText += str_77;
}
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg1.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T("-Блокнот"));
}
}
if (uRes == IDNO)
{
CFileDialog fileDlg(TRUE, _T(".txt"), NULL,
OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST,
_T("All Files (*.*) |*.*| Text Files(*.txt) | *.txt| Word Files(*.doc) |*.doc|"));
if (fileDlg.DoModal() == IDOK)
{
if (!f.Open(fileDlg.GetPathName(), CFile::modeRead | CFile::typeText))
{
MessageBox("Не могу открыть файл");
return;
}
while (f.ReadString(str_77))
{
if (!strText.IsEmpty())
strText += "\r\n";
strText += str_77;
}
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T("-Блокнот"));
}
}
}
}
void CMenuDlg::OnSoxranit()//Сохранить-------------------------------
{
if (m_strPath == _T("Безымянный") )
OnSoxranitkak();
else
{
CStdioFile file;
if (!file.Open(m_strFileName
, CFile::modeCreate | CFile::modeWrite | CFile::typeText))
{
AfxMessageBox(_T("Не могу открыть файл."));
return;
}
CEdit *pEditor = (CEdit *)GetDlgItem(IDC_EDIT1);
int nLines = pEditor->GetLineCount();
CString str;
for (int i = 0; i < nLines; i++)
{
int nLen = pEditor->LineLength(pEditor->LineIndex(i));
pEditor->GetLine(i, str.GetBuffer(nLen), nLen);
str.ReleaseBuffer(nLen);
if (i > 0)
str = _T("\n") + str;
file.WriteString(str);
}
}
}
void CMenuDlg::OnSoxranitkak()//Сохранить как------------------------
{
CString str_77, strText;
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) | *.txt|",NULL);
if(fileDlg.DoModal() == IDOK)
{
//path = fileDlg.GetPathName();
CStdioFile f;
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
{
MessageBox("Не могу сохранить файл");
return;
}
/*while (f.ReadString(str_77))
{
if (!strText.IsEmpty())
strText += "\r\n";
strText += str_77;
}
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T("-Блокнот(Alexa)"));*/
CEdit *pEditor = (CEdit *)GetDlgItem(IDC_EDIT1);
int nLines = pEditor->GetLineCount();
CString str;
for (int i = 0; i < nLines; i++)
{
int nLen = pEditor->LineLength(pEditor->LineIndex(i));
pEditor->GetLine(i, str.GetBuffer(nLen), nLen);
str.ReleaseBuffer(nLen);
if (i > 0)
str = _T("\n") + str;
f.WriteString(str);
}
m_strPath = fileDlg.GetPathName();
m_strFileName = f.GetFileName();
SetWindowText(m_strFileName + _T(" - Блокнот"));
}
}
void CMenuDlg::OnWremja()//Время---------------------------------------
{
CEdit *pmyEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
CString str, str2, str3;
int nashalo, konec;
CTime time = CTime::GetCurrentTime();
UpdateData();
str = time.Format(_T("%H:%M %d.%m.%Y"));
pmyEdit->GetSel(nashalo, konec);
GetDlgItemText(IDC_EDIT1, str3);
str3.Insert(konec, str);
SetDlgItemText(IDC_EDIT1, str3);
pmyEdit->SetSel(nashalo + 17, konec + 17);
}
void CMenuDlg::OnWidelitwse()//Выделить все---------------------------
{
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->SetSel(0,-1);
mEdit->SetFocus();
}
void CMenuDlg::OnShrift() //Шрифт-----------------------------------------------
{
LOGFONT lfText;
m_fontText.GetLogFont(&lfText);
CFontDialog fontDlg(&lfText);
if (fontDlg.DoModal())
{fontDlg.GetCurrentFont(&lfText);
m_fontText.DeleteObject();
m_fontText.CreateFontIndirect(&lfText);
m_Edit1.SetFont(&m_fontText);}
}
void CMenuDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if (IsWindow(m_wndStatusBar.m_hWnd))
{
m_wndStatusBar.MoveWindow(0, 0, 0, 0);
CRect rect;
m_wndStatusBar.GetClientRect(&rect);
int nParts[] = {rect.right - 200, - 1};
m_wndStatusBar.SetParts(sizeof(nParts)/sizeof(nParts[0]), nParts);
CString strPartsStatusBar;
strPartsStatusBar.Format(_T("Строка %d, столбец %d"), m_nStrStatusBar, m_nStolbetsStatusBar);
}
CWnd *pEdit = GetDlgItem(IDC_EDIT1);
if (pEdit != NULL)
{
CRect rcClient;
GetClientRect(rcClient);
rcClient.InflateRect(-2, -2, -2, -20);
pEdit->MoveWindow(rcClient);
if(IsWindow(m_Edit1.m_hWnd))
{
m_wndStatusBar.MoveWindow(0, 0, 0, 0);
CRect clientRect1;
CRect clientRStatusBar1;
GetClientRect(clientRect1);
m_wndStatusBar.GetClientRect(clientRStatusBar1);
CRect cx = clientRect1;
cx.bottom = clientRect1.bottom - clientRStatusBar1.Height();
m_Edit1.MoveWindow(cx);
}
CMenu* pMenu = GetMenu()->GetSubMenu(3);
UINT state = pMenu->GetMenuState(1, MF_BYPOSITION);
if (nType == SIZE_MINIMIZED && state & MF_CHECKED)
{
ShowWindow(SW_HIDE);
Shell_NotifyIcon(NIM_ADD, &m_nidTray);
//m_uTimer = SetTimer(1, 500, NULL);
nIcon = 0;
}/*
static UINT rgIconID[] =
{
IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4
};
nIcon++;
if (nIcon == 4) nIcon = 0;
m_nidTray.hIcon = AfxGetApp()->LoadIcon(rgIconID[nIcon]);
Shell_NotifyIcon(NIM_MODIFY, &m_nidTray);
*/
}
}
void CMenuDlg::Onblokn()//Модальное окно О блокноте---------------
{
mein dlg;
if (dlg.DoModal() == IDOK)
{
Beep(1500,300);
}
}
void CMenuDlg::OnUdalit()//Удалить---------------------------------------
{
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->Clear();
mEdit->SetFocus();
}
void CMenuDlg::OnWirezat()//Вырезать-----------------------------------
{
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->Cut();
mEdit->SetFocus();
}
void CMenuDlg::OnKopirowat()//Копировать--------------------------------
{
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->Copy();
mEdit->SetFocus();
}
void CMenuDlg::OnWstawit()//Вставить-------------------------------------
{
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->Paste();
mEdit->SetFocus();
}
Void CMenuDlg::OnOtmenit()//Отменить----------------------------------
{
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
mEdit->Undo();
mEdit->SetFocus();
}
void CMenuDlg::OnEnChangeEdit1()//Едит------------------------------
{
//CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
//mEdit->SetSel(0, 0);
CString str_4;
m_Edit1.GetWindowText(str_4);
if (str_4 != _T(""))
{
CMenu* MENU = GetMenu();
CMenu* sibmenu = MENU->GetSubMenu(1);
sibmenu->EnableMenuItem(ID_Otmenit, MF_BYCOMMAND | MF_ENABLED );
}
/*else if(str_4 ==_T(""))
{
CMenu* MENU = GetMenu();
CMenu* sibmenu = MENU->GetSubMenu(1);
sibmenu->EnableMenuItem(ID_Otmenit, MF_BYCOMMAND | MF_GRAYED);
}*/
/*
CString str_5;
m_Edit1.GetWindowText(str_5);
if (str_5 != _T(""))
{
CMenu* MENU2 = GetMenu();
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Wirezat, MF_BYCOMMAND | MF_ENABLED );
}
else if(str_5 ==_T(""))
{
CMenu* MENU2 = GetMenu();
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Wirezat, MF_BYCOMMAND | MF_GRAYED);
}
CString str_6;
m_Edit1.GetWindowText(str_6);
if (str_6 != _T(""))
{
CMenu* MENU2 = GetMenu();
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Udalit, MF_BYCOMMAND | MF_ENABLED );
}
else if(str_5 ==_T(""))
{
CMenu* MENU2 = GetMenu();
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Udalit, MF_BYCOMMAND | MF_GRAYED);
}*/
}
void CMenuDlg::OnInitMenu(CMenu* pMenu)
{
CDialog::OnInitMenu(pMenu);
}
void CMenuDlg::OnClose()//Закрытие-------------------------------------
{
CString str_r;
m_Edit1.GetWindowText(str_r);
if (str_r == _T(""))
{
EndDialog(0);
return;
}
else if (str_r != _T(""))
{
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот"), MB_YESNOCANCEL | MB_ICONWARNING);
if (uRes == IDYES)
{
CString path;
CFileDialog fdlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(fdlg.DoModal() == IDOK)
{
path = fdlg.GetPathName();
CFile f;
if(!f.Open(path, CFile::modeCreate | CFile::modeWrite))
{
MessageBox("Не могу сохранить файл");
return;
}
CString str;
m_Edit1.GetWindowText(str);
f.Write(str, str.GetLength());
f.Close();
}
}
if (uRes == IDNO)
{
CDialog::OnClose();