Проект текстового редактора - Программирование, компьютеры и кибернетика курсовая работа

Проект текстового редактора - Программирование, компьютеры и кибернетика курсовая работа



































Составление Win32 App проекта - простейшего текстового редактора, который позволяет выполнять такие операции: редактирование текста, копирование и вставку из одного окна проекта в другое окно проекта. Методы вызова диалогов сохранения и открытия файла.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Составить Win32 App проект простейший текстовый редактор, который позволяет выполнять операции редактирование текста, копирование и вставку из одного окна проекта в другое окно проекта. Использовать вызов диалогов сохранения и открытия файла, а также диалог выбора шрифта. Все диалоги применяются к тексту в редакторе.
Работа с функциями вызова стандартных диалогов производится следующим образом:
1. Объявляются переменные соответствующих структур:
// Переменные для стандартных диалогов "Open", "Save as"
// Переменные для стандартного диалога "Color"
static CHOOSECOLOR cc; // common dialog box structure
static COLORREF acrCustClr[16]; // array of custom colors
// Переменные для стандартного диалога "Font"
2. Инициализируются соответствующие структуры в обработчике события создания окна (окна диалога).
ofn.lStructSize = sizeof(OPENFILENAME);
cc.lStructSize = sizeof(CHOOSECOLOR);
cc.lpCustColors = (LPDWORD) acrCustClr;
cc.Flags = CC_FULLOPEN | CC_RGBINIT;
chf.lStructSize = sizeof(CHOOSEFONT);
chf.Flags = CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT;
chf.nFontType = SIMULATED_FONTTYPE;
3. Вызывается соответствующая функция в обработчике событий нажатия кнопки вызова соответствующего диалога.
MessageBox(hWnd, ofn.lpstrFile, "Открывается файл:", MB_OK);
MessageBox(hWnd, ESC_OF"GetOpenFileName",
"Отказ от выбора или ошибка", MB_ICONWARNING);
"Файл сохраняется с именем:", MB_OK);
MessageBox(hWnd, ESC_OF"GetSaveFileName",
"Отказ от выбора или ошибка", MB_ICONWARNING);
SetClassLong(hWnd, GCL_HBRBACKGROUND,
(LONG)CreateSolidBrush(cc.rgbResult));
if ( ChooseColor(&cc) ) textColor = cc.rgbResult;
if( ChooseFont(&chf) ) hFont = CreateFontIndirect(chf.lpLogFont);
В процессе разработки программы использовался в большом объеме теоретический материал ВУЗа и материал по программированию из учебников, вспомогательных электронных средств и средств Интернета, что способствовало закреплению наработанных навыков и умений в этих интересных областях знаний.
Полное тестирование программы показало что, программа реализована в полном объеме в соответствии с заданными требованиями и поставленной задачей. Полностью отлажена и проработана. Поставленная задача выполнена.
Программа построена на классе MFC для Win 32 приложений.
1. Д.Рихтер Создание эффективных Win32 приложений.
2. П. В. Румянцев Азбука программирования в WIN 32 API.
3. Ч. Петзолд. Программирование для Windows 95. Том 1.
4. Архипова Е.Н. Электронный курс по WIN 32 API.
mein::mein(CWnd* pParent /*=NULL*/)
void mein::DoDataExchange(CDataExchange* pDX)
// Menu.cpp : Defines the class behaviors for the application.
BEGIN_MESSAGE_MAP(CMenuApp, CWinApp)
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
// TODO: add construction code here,
// Place all significant initialization in InitInstance
// The one and only CMenuApp object
// InitCommonControls() is required on Windows XP if an application
// manifest specifies use of ComCtl32.dll version 6 or later to enable
// visual styles. Otherwise, any window creation will fail.
// If you are not using these features and wish to reduce the size
// of your final executable, you should remove from the following
// the specific initialization routines you do not need
// Change the registry key under which our settings are stored
// TODO: You should modify this string to be something appropriate
// such as the name of your company or organization
SetRegistryKey(_T("Local AppWizard-Generated Applications"));
// TODO: Place code here to handle when the dialog is
// TODO: Place code here to handle when the dialog is
// Since the dialog has been closed, return FALSE so that we exit the
// application, rather than start the application's message pump.
// m_nauti.cpp : implementation file
IMPLEMENT_DYNAMIC(m_nauti, CDialog)
m_nauti::m_nauti(CWnd* pParent /*=NULL*/)
void m_nauti::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_EDIT11, edit);
DDX_Control(pDX, IDC_BUTTON1, nauti_dalee);
DDX_Control(pDX, IDC_RADIO1, ddx_radio);
DDX_Radio(pDX, IDC_RADIO2, ddx_222);
BEGIN_MESSAGE_MAP(m_nauti, CDialog)
ON_EN_CHANGE(IDC_EDIT11, OnEnChangeEdit11)
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
//CEdit *pEdit = (CEdit *)GetDlgItem(IDC_EDIT11);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
void m_nauti::OnEnChangeEdit11()// Едит---------------------------------
//CEdit *pmyEdit = (CEdit *)GetDlgItem(IDC_EDIT11);
nauti_dalee.ModifyStyle(WS_DISABLED,0);
nauti_dalee.ModifyStyle(0,WS_DISABLED);
void m_nauti::OnFind()//Галочка вниз--------------------------------------------
CButton *pBtnFind = (CButton *)GetDlgItem(IDC_BUTTON1);
CEdit *pEdit = (CEdit *)((CMenuDlg *)m_pParent)->GetDlgItem(IDC_EDIT1);
CEdit *pFind = (CEdit *)GetDlgItem(IDC_EDIT11);
if (!IsDlgButtonChecked(IDC_CHECK1))
nFindPos = m_strText.Find(strFind);
nFindPos = m_strText.Find(strFind, m_nStartPos);
MessageBox(_T("Не удается найти \"") + strFind + _T("\"")
,_T("Блокнот"), MB_OK | MB_ICONINFORMATION);
pEdit->SetSel(nFindPos, nFindPos + strFind.GetLength());
// Определяем позицию, с которой надо продолжать поиск
m_nStartPos = nFindPos + strFind.GetLength();
void m_nauti::OnBnClickedButton1()//Найти далее---------------------------
CButton *pBtnFind = (CButton *)GetDlgItem(IDC_BUTTON1);
CEdit *pEdit = (CEdit *)((CMenuDlg *)m_pParent)->GetDlgItem(IDC_EDIT1);
CEdit *pFind = (CEdit *)GetDlgItem(IDC_EDIT11);
if (IsDlgButtonChecked(IDC_RADIO2))
if (IsDlgButtonChecked(IDC_RADIO1))
if (!IsDlgButtonChecked(IDC_CHECK1))
int nCountText = m_strText.GetLength();
int nCountFind = strFind.GetLength();
int n = m_strText.Delete(nStart, nCountText);
static const basic_string ::size_type npos = -1;
size_t ind = strTmp.rfind (strFind);
pEdit->SetSel((int)ind, ind + nCountFind);
MessageBox(_T("Не удается найти \"") + strFind + _T("\"")
,_T("Блокнот"), MB_OK | MB_ICONINFORMATION);
GetDlgItem(IDC_EDIT11)->SetFocus();
void m_nauti::OnBnClickedCancel()//Выход------------------------------
// Сбрасываем указатель на дочернее окно в родительском окне
((CMenuDlg *)m_pParent)->m_pAddDlg = NULL;
void m_nauti::OnDestroy()//ОН дестрой--------------------------------------
// Zamenit.cpp : implementation file
IMPLEMENT_DYNAMIC(Zamenit, CDialog)
Zamenit::Zamenit(CWnd* pParent /*=NULL*/)
void Zamenit::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(Zamenit, CDialog)
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedButton2)
ON_EN_CHANGE(IDC_EDIT22, OnEnChangeEdit22)
ON_BN_CLICKED(IDC_BUTTON3, OnBnClickedButton3)
ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
void Zamenit::OnBnClickedButton1()//Найти далее----------------------------
CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));
CEdit *pFind = (CEdit *)GetDlgItem(IDC_EDIT22);
if (!IsDlgButtonChecked(IDC_CHECK1))
nFindPos = strText.Find(strFind, m_nStartPosR);
if (nFindPos == -1 && !m_bFlagReplAll)
MessageBox(_T("Не удается найти \"") + strFind + _T("\"")
,_T("Блокнот"), MB_OK | MB_ICONINFORMATION);
pEdit->SetSel(nFindPos, nFindPos + strFind.GetLength());
// Определяем позицию, с которой надо продолжать поиск
m_nStartPosR = nFindPos + strFind.GetLength();
void Zamenit::OnBnClickedButton2()//Заменить---------------------------
//CEdit *pEdit = (CEdit *)((CMenuDlg *)m_pParent)->GetDlgItem(IDC_EDIT1);
//CEdit *pEdit = (CEdit *)(CMenuDlg *)GetDlgItem(IDC_EDIT1);
CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));
else if (m_bFlagRepl && (nStart != nEnd))
//CEdit *pEdit = (CEdit *)((CMenuDlg *)m_pParent)->GetDlgItem(IDC_EDIT1);
CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));
CEdit *pSours = (CEdit *)GetDlgItem(IDC_EDIT2);
GetDlgItemText(IDC_EDIT22, strFind1);
CButton *p1 = (CButton *)GetDlgItem(IDC_BUTTON1);
CButton *p2 = (CButton *)GetDlgItem(IDC_BUTTON2);
CButton *p3 = (CButton *)GetDlgItem(IDC_BUTTON3);
void Zamenit::OnBnClickedButton3()//Заменить все---------------------------
//CEdit *pEdit = (CEdit *)((CMenuDlg *)m_pParent)->GetDlgItem(IDC_EDIT1);
//CEdit *pEdit = (CEdit *)(CMenuDlg *)GetDlgItem(IDC_EDIT1);
CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));
CEdit *pFind = (CEdit *)GetDlgItem(IDC_EDIT22);
nFindPos = strText.Find(strFind, m_nStartPosR);
m_nStartPosR = nFindPos + strFind.GetLength();
int nCountText = strText.GetLength();
void Zamenit::OnDestroy()//Он дестрой---------------------------------------
// Сбрасываем указатель на дочернее окно в родительском окне
//((CMenuDlg *)m_pParent)->m_ppereutiDlg = NULL;
//((CMenuDlg *)AfxGetMainWnd())->m_ppereutiDlg = NULL;
//CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));
void Zamenit::OnBnClickedCancel()//Выход---------------------------------
// Сбрасываем указатель на дочернее окно в родительском окне
((CMenuDlg *)m_pParentz)->m_zamenitDlg = NULL;
//((CMenuDlg *)AfxGetMainWnd())->m_ppereutiDlg = NULL;
// pereuti.cpp : implementation file
IMPLEMENT_DYNAMIC(pereuti, CDialog)
pereuti::pereuti(CWnd* pParent /*=NULL*/)
void pereuti::DoDataExchange(CDataExchange* pDX)
DDX_Text(pDX, IDC_EDIT1, m_position);
DDX_Control(pDX, IDC_EDIT1, m_edit_pereuti);
BEGIN_MESSAGE_MAP(pereuti, CDialog)
Код модуля MenuDlg . cpp (Основной)
// MenuDlg.cpp : implementation file **********************************************************************************
//*********************************************************************************************************************
CMenuDlg::CMenuDlg(CWnd* pParent /*=NULL*/)
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
void CMenuDlg::DoDataExchange(CDataExchange* pDX)
DDX_Control(pDX, IDC_EDIT1, m_Edit1);
BEGIN_MESSAGE_MAP(CMenuDlg, CDialog)
ON_COMMAND(ID_Soxranit, OnSoxranit)
ON_COMMAND(ID_Soxranit_kak, OnSoxranitkak)
ON_COMMAND(ID_Widelit_wse, OnWidelitwse)
ON_COMMAND(ID_Kopirowat, OnKopirowat)
ON_EN_CHANGE(IDC_EDIT1, OnEnChangeEdit1)
ON_COMMAND(ID_Sprawka_2, OnSprawka2)
ON_COMMAND(ID_Nauti_dalee, OnNautidalee)
ON_COMMAND(ID_TRAY_OPEN, OnTrayOpen)
ON_COMMAND(ID_TRAY_EXIT, OnTrayExit)
ON_MESSAGE(WM_TRAYICON, OnTrayIcon)
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);// Set big icon
SetIcon(m_hIcon, FALSE);// Set small icon
// TODO: Add extra initialization here
//--------------------------------------------------
rcClient.InflateRect(-2, -2, -2, -20);
GetDlgItem(IDC_EDIT1)->MoveWindow(rcClient);
//------------------------------------------------
m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));
//----------------------------------------------------
CFont *pFontText = m_Edit1.GetFont();
m_fontText.CreateFontIndirect(&lfText);
//m_editMain.m_menuPopup.LoadMenu(IDR_MENU_POPUP);
//----------------------------------------------------
m_wndStatusBar.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP,
CRect(0, 0, 0, 0), this, IDC_STATUS_BAR);
m_wndStatusBar.GetClientRect(&rect);
int nParts[] = {rect.right - 200, - 1};
strPartsStatusBar.Format(_T("Стр %d, стлб %d"), m_nStrStatusBar = 1, m_nStolbetsStatusBar= 1);
m_wndStatusBar.SetParts(sizeof(nParts)/sizeof(nParts[0]), nParts);
m_wndStatusBar.SetText(strPartsStatusBar, 1, 0);
m_wndStatusBar.ShowWindow(SW_SHOW);
//-------------------------------------------------------
m_nidTray.cbSize = sizeof(NOTIFYICONDATA);
m_nidTray.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
m_nidTray.hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
m_nidTray.uCallbackMessage = WM_TRAYICON;
_tcscpy(m_nidTray.szTip, _T("Блокнот Лехи Каменева"));
//--------------------------------------------------------
CMenu* sibmenu = MENU->GetSubMenu(1);
sibmenu->EnableMenuItem(ID_Otmenit, MF_BYCOMMAND | MF_GRAYED);
CMenu* submenu = MENU1->GetSubMenu(1);
submenu->EnableMenuItem(ID_Wirezat, MF_BYCOMMAND | MF_GRAYED);
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Kopirowat, MF_BYCOMMAND | MF_GRAYED);
CMenu* sobmenu = MENU3->GetSubMenu(1);
sobmenu->EnableMenuItem(ID_Udalit, MF_BYCOMMAND | MF_GRAYED);
//----------------------------------------------------------------
return TRUE; // return TRUE unless you set the focus to a control
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0);
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// The system calls this function to obtain the cursor to display while the user drags
HCURSOR CMenuDlg::OnQueryDragIcon()
return static_cast(m_hIcon);
void CMenuDlg::OnSozdat()//Создать ------------------------------
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот(Alexa)"), MB_YESNOCANCEL | MB_ICONWARNING);
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
MessageBox("Не могу сохранить файл");
SetDlgItemText(IDC_EDIT1, strText);
SetWindowText(m_strFileName + _T("-Блокнот(Alexa)"));
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
SetWindowText(_T("Безымянный-Блокнот(Alexa)"));
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
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()//Выход--------------------------------------------
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот"), MB_YESNOCANCEL | MB_ICONWARNING);
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
MessageBox("Не могу сохранить файл");
SetDlgItemText(IDC_EDIT1, strText);
SetWindowText(m_strFileName + _T("-Блокнот"));
void CMenuDlg::OnOtkrit()//Открыть----------------------------------------
CFileDialog fileDlg(TRUE, _T(".txt"), NULL,
OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST,
_T("All Files (*.*) |*.*| Text Files(*.txt) | *.txt| Word Files(*.doc) |*.doc|"));
if (!f.Open(fileDlg.GetPathName(), CFile::modeRead | CFile::typeText))
MessageBox("Не могу открыть файл");
SetDlgItemText(IDC_EDIT1, strText);
SetWindowText(m_strFileName + _T("-Блокнот"));
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот"), MB_YESNOCANCEL | MB_ICONWARNING);
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
MessageBox("Не могу сохранить файл");
SetDlgItemText(IDC_EDIT1, strText);
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 (!f.Open(fileDlg1.GetPathName(), CFile::modeRead | CFile::typeText))
MessageBox("Не могу открыть файл");
SetDlgItemText(IDC_EDIT1, strText);
m_strPath = fileDlg1.GetPathName();
SetWindowText(m_strFileName + _T("-Блокнот"));
CFileDialog fileDlg(TRUE, _T(".txt"), NULL,
OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST,
_T("All Files (*.*) |*.*| Text Files(*.txt) | *.txt| Word Files(*.doc) |*.doc|"));
if (!f.Open(fileDlg.GetPathName(), CFile::modeRead | CFile::typeText))
MessageBox("Не могу открыть файл");
SetDlgItemText(IDC_EDIT1, strText);
SetWindowText(m_strFileName + _T("-Блокнот"));
void CMenuDlg::OnSoxranit()//Сохранить-------------------------------
if (m_strPath == _T("Безымянный") )
, CFile::modeCreate | CFile::modeWrite | CFile::typeText))
AfxMessageBox(_T("Не могу открыть файл."));
CEdit *pEditor = (CEdit *)GetDlgItem(IDC_EDIT1);
int nLines = pEditor->GetLineCount();
int nLen = pEditor->LineLength(pEditor->LineIndex(i));
pEditor->GetLine(i, str.GetBuffer(nLen), nLen);
void CMenuDlg::OnSoxranitkak()//Сохранить как------------------------
CFileDialog fileDlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) | *.txt|",NULL);
if(!f.Open(fileDlg.GetPathName(), CFile::modeCreate | CFile::modeWrite))
MessageBox("Не могу сохранить файл");
SetDlgItemText(IDC_EDIT1, strText);
SetWindowText(m_strFileName + _T("-Блокнот(Alexa)"));*/
CEdit *pEditor = (CEdit *)GetDlgItem(IDC_EDIT1);
int nLines = pEditor->GetLineCount();
int nLen = pEditor->LineLength(pEditor->LineIndex(i));
pEditor->GetLine(i, str.GetBuffer(nLen), nLen);
SetWindowText(m_strFileName + _T(" - Блокнот"));
void CMenuDlg::OnWremja()//Время---------------------------------------
CEdit *pmyEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
CTime time = CTime::GetCurrentTime();
str = time.Format(_T("%H:%M %d.%m.%Y"));
pmyEdit->SetSel(nashalo + 17, konec + 17);
void CMenuDlg::OnWidelitwse()//Выделить все---------------------------
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
void CMenuDlg::OnShrift() //Шрифт-----------------------------------------------
m_fontText.CreateFontIndirect(&lfText);
void CMenuDlg::OnSize(UINT nType, int cx, int cy)
if (IsWindow(m_wndStatusBar.m_hWnd))
m_wndStatusBar.MoveWindow(0, 0, 0, 0);
m_wndStatusBar.GetClientRect(&rect);
int nParts[] = {rect.right - 200, - 1};
m_wndStatusBar.SetParts(sizeof(nParts)/sizeof(nParts[0]), nParts);
strPartsStatusBar.Format(_T("Строка %d, столбец %d"), m_nStrStatusBar, m_nStolbetsStatusBar);
CWnd *pEdit = GetDlgItem(IDC_EDIT1);
rcClient.InflateRect(-2, -2, -2, -20);
m_wndStatusBar.MoveWindow(0, 0, 0, 0);
m_wndStatusBar.GetClientRect(clientRStatusBar1);
cx.bottom = clientRect1.bottom - clientRStatusBar1.Height();
CMenu* pMenu = GetMenu()->GetSubMenu(3);
UINT state = pMenu->GetMenuState(1, MF_BYPOSITION);
if (nType == SIZE_MINIMIZED && state & MF_CHECKED)
Shell_NotifyIcon(NIM_ADD, &m_nidTray);
//m_uTimer = SetTimer(1, 500, NULL);
IDI_ICON1, IDI_ICON2, IDI_ICON3, IDI_ICON4
m_nidTray.hIcon = AfxGetApp()->LoadIcon(rgIconID[nIcon]);
Shell_NotifyIcon(NIM_MODIFY, &m_nidTray);
void CMenuDlg::Onblokn()//Модальное окно О блокноте---------------
void CMenuDlg::OnUdalit()//Удалить---------------------------------------
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
void CMenuDlg::OnWirezat()//Вырезать-----------------------------------
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
void CMenuDlg::OnKopirowat()//Копировать--------------------------------
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
void CMenuDlg::OnWstawit()//Вставить-------------------------------------
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
Void CMenuDlg::OnOtmenit()//Отменить----------------------------------
CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
void CMenuDlg::OnEnChangeEdit1()//Едит------------------------------
//CEdit *mEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
CMenu* sibmenu = MENU->GetSubMenu(1);
sibmenu->EnableMenuItem(ID_Otmenit, MF_BYCOMMAND | MF_ENABLED );
CMenu* sibmenu = MENU->GetSubMenu(1);
sibmenu->EnableMenuItem(ID_Otmenit, MF_BYCOMMAND | MF_GRAYED);
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Wirezat, MF_BYCOMMAND | MF_ENABLED );
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Wirezat, MF_BYCOMMAND | MF_GRAYED);
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Udalit, MF_BYCOMMAND | MF_ENABLED );
CMenu* sebmenu = MENU2->GetSubMenu(1);
sebmenu->EnableMenuItem(ID_Udalit, MF_BYCOMMAND | MF_GRAYED);
void CMenuDlg::OnInitMenu(CMenu* pMenu)
void CMenuDlg::OnClose()//Закрытие-------------------------------------
UINT uRes = MessageBox(_T("Текст в файле Безымянный был изменньон \n\n Сохранить изменение?"),
_T("Блокнот"), MB_YESNOCANCEL | MB_ICONWARNING);
CFileDialog fdlg(FALSE,_T(".txt"),NULL,NULL,"Text Files(*.txt) |*.txt|",NULL);
if(!f.Open(path, CFile::modeCreate | CFile::modeWrite))
MessageBox("Не могу сохранить файл");
void CMenuDlg::OnSprawka2()//Вызов справки----------------------------
MessageBox(_T("Самопал от Лехи ") ,
_T("Блокнот"), MB_OK | MB_ICONINFORMATION);
void CMenuDlg::OnNauti()//Найти-------------------------------------------------
void CMenuDlg::OnNautidalee()//Найти далее-------------------------------
void CMenuDlg::OnZamenit()//Заменить--------------------------------------
CEdit *pEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
m_zamenitDlg->SetForegroundWindow();
void CMenuDlg::OnT()//строка состояние-------------------------------------
CMenu* pMenu = GetMenu()->GetSubMenu(3);
CWnd *pEdit = GetDlgItem(IDC_EDIT1);
UINT state = pMenu->GetMenuState(0, MF_BYPOSITION);
/*Beep(200,100);Beep(300,100);Beep(400,100);Beep(500,100);Beep(600,100);
Beep(700,100);Beep(800,100);Beep(900,100);Beep(1000,100);Beep(1100,100);
Beep(1200,100);Beep(1300,100);Beep(1400,100);Beep(1500,100);Beep(1600,100);
Beep(1700,100);Beep(1800,100);Beep(1900,100);Beep(2000,100);Beep(2100,100);
Beep(2500,500);Beep(1900,100);Beep(1800,100);Beep(1700,100);Beep(1600,100);
Beep(1500,100);Beep(1400,100);Beep(1300,100);Beep(1200,100);Beep(1100,100);
Beep(1000,100);Beep(900,100);Beep(800,100);Beep(700,100);Beep(600,100);
Beep(500,100);Beep(400,100);Beep(300,100);Beep(200,100);Beep(100,500);*/
pMenu->CheckMenuItem(0, MF_UNCHECKED | MF_BYPOSITION);
m_wndStatusBar.ShowWindow(SW_HIDE);
pMenu->CheckMenuItem(0, MF_CHECKED | MF_BYPOSITION);
m_wndStatusBar.ShowWindow(SW_SHOW);
rcEditSize.InflateRect(-2, -2, -2, -20);
void CMenuDlg::OnTimer(UINT nIDEvent)//Он таймер-------------------
CEdit *pmyEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
m_nStrStatusBar = pmyEdit->LineFromChar(nStart);
m_nStolbetsStatusBar = nEnd - pmyEdit->LineIndex(m_nStrStatusBar);
strPartsStatusBar.Format(_T("Стр %d, стлб %d"), m_nStrStatusBar + 1, m_nStolbetsStatusBar + 1);
m_wndStatusBar.SetText(strPartsStatusBar, 1, 0);
//m_wndStatusBar.ShowWindow(SW_SHOW);
LRESULT CMenuDlg::OnTrayIcon(WPARAM wParam, LPARAM lParam)//Трай-----------------------
if (wParam != ID_TRAYICON || (lParam != WM_LBUTTONUP && lParam != WM_RBUTTONUP))
CMenu *pTrayMenu = m_menuTray.GetSubMenu(0);
// Исправляем баг с контекстным меню (см. MSDN Knowledge Base: 135788)
pTrayMenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, this);
// Исправляем баг с контекстным меню (см. MSDN Knowledge Base: 135788)
Shell_NotifyIcon(NIM_DELETE, &m_nidTray);
Shell_NotifyIcon(NIM_DELETE, &m_nidTray);
CMenu* pMenu = GetMenu()->GetSubMenu(3);
UINT state = pMenu->GetMenuState(1, MF_BYPOSITION);
pMenu->CheckMenuItem(1, MF_UNCHECKED | MF_BYPOSITION);
pMenu->CheckMenuItem(1, MF_CHECKED | MF_BYPOSITION);
void CMenuDlg::OnPereuti()//перейти-----------------------------------------
str1 = _T("Столько строк нет!!! их всего: ");
//move.m_edit_pereuti.SetSel(0, -1);
if(lines < m_Edit1.LineIndex(move.m_position+10))
m_Edit1.SetSel(m_Edit1.LineIndex(move.m_position-1),
m_Edit1.LineIndex(move.m_position-1));
str1 = _T("Столько строк нет!!! их всего: ");
index = m_Edit1.LineFromChar() + 1;
//move.m_edit_pereuti.SetSel(0, -1);
if(index >= m_Edit1.LineIndex(move.m_position-1))
m_Edit1.SetSel(m_Edit1.LineIndex(move.m_position-1),
m_Edit1.LineIndex(move.m_position-1));
void CMenuDlg::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu)
CDialog::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu);
CEdit *pEdit = (CEdit *)GetDlgItem(IDC_EDIT1);
pEdit->GetSel(nFerstChar, nSecondChar);
BOOL bClipboard = IsClipboardFormatAvailable(format);
//pPopupMenu->EnableMenuItem(ID_Otmenit,
//MF_BYCOMMAND | (bClipboard == FALSE ? MF_GRAYED : MF_ENABLED));
//pPopupMenu->EnableMenuItem(ID_Otmenit,
//MF_BYCOMMAND | (m_bFlag == FALSE ? MF_GRAYED : MF_ENABLED));
pPopupMenu->EnableMenuItem(ID_Wirezat,
MF_BYCOMMAND | (nFerstChar == nSecondChar ? MF_GRAYED : MF_ENABLED));
pPopupMenu->EnableMenuItem(ID_Kopirowat,
MF_BYCOMMAND | (nFerstChar == nSecondChar ? MF_GRAYED : MF_ENABLED));
pPopupMenu->EnableMenuItem(ID_Udalit,
MF_BYCOMMAND | (nFerstChar == nSecondChar ? MF_GRAYED : MF_ENABLED));
pPopupMenu->EnableMenuItem(ID_Nauti,
MF_BYCOMMAND | (strEdit == _T("") ? MF_GRAYED : MF_ENABLED));
pPopupMenu->EnableMenuItem(ID_Zamenit,
MF_BYCOMMAND | (strEdit == _T("") ? MF_GRAYED : MF_ENABLED));
pPopupMenu->EnableMenuItem(ID_Nauti_dalee,
MF_BYCOMMAND | (strEdit == _T("") ? MF_GRAYED : MF_ENABLED));
Необходимые компоненты и порядок составления текстового редактора. Текст программы решения задачи на языке программирования C++. Контрольный пример работы текстового редактора. Создание и произведение операции форматирования простого документа. курсовая работа [1,6 M], добавлен 03.09.2011
Разработка текстового редактора с подсветкой синтаксиса языков программирования. Загрузка из XML-файла настроек для подсветки синтаксиса и конструкций языка. Формат файлов конфигурации и проверки. Разбор текста и применение к нему стилей, тестовый пример. курсовая работа [141,6 K], добавлен 13.03.2013
Структура окна Word. Методы представления и работа с несколькими документами. Ввод и редактирование текста. Средства поиска и замены. Отмена действия ошибочных команд. Изменение внешнего вида текста. Установка отступов и интервалов. Работа со списками. реферат [33,8 K], добавлен 03.02.2013
Типы, основные функции, элементы и принцип работы текстового редактора (компьютерной программы). Методы вставки внешних объектов в текст. Особенности текстового процессора Microsoft Word, его специальные возможности. Типовая структура интерфейса. реферат [15,8 K], добавлен 07.12.2010
Особенности создания ряда игровых приложений, логической игры. Программное обеспечение простейшего калькулятора, генератора функций. Разработка элементов интерфейса простейшего графического редактора, электронной записной книжки, текстового редактора. методичка [788,7 K], добавлен 24.10.2012
Интерфейс текстового редактора MS Word. Редактирование и форматирование текста в MS Word, вставка таблиц, текста WordArt и объектов из другого приложения. Создание схематических диаграмм, использование данных из табличного процессора Microsoft Excel. презентация [1022,7 K], добавлен 05.06.2015
Описания программных средств, предназначенных для создания, редактирования и форматирования простых и комплексных текстовых документов. Настройка параметров абзаца, ввод символов, средства создания списков. Копирование и перемещение участков текста. реферат [194,3 K], добавлен 26.03.2015
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Проект текстового редактора курсовая работа. Программирование, компьютеры и кибернетика.
Контрольная работа по теме Асинхронный микродвигатель с полным ротором
Контрольная Работа На Тему Флора И Фауна Янао
Первый Снег Сочинение Примерное Сочинение И План
Дипломная работа по теме Особливості контролю знань логіки предикатів
Реферат: African Empires 2001600 Essay Research Paper There
Реферат по теме Психологическая характеристика трудностей возникающих при изучении иностранного языка на среднем этапе
Проверка Сочинений Егэ Бесплатно
Реферат по теме Булгаков Михаил Афанасьевич
Культура Речи Современных Школьников Сочинение
Реферат: The PerformanceEnhancing Drug Controversy Essay Research Paper
Реферат: Analysis On Aol Essay Research Paper Situation
Лучшие Научные Эссе Образец
Дипломная работа по теме Аналіз стійкості криптографічних систем з використанням штучного інтелекту
Реферат по теме Социальная структура общества и ее элементы
Реферат по теме Современные взгляды на эвтаназию
Реферат: Chinese Prostitutes In 1900
Реферат: Genetic Engineering Essay Research Paper The selective
Реферат: Личность ребенка как объект и субъект воспитания
Курсовая работа по теме Расчет монолитной балки и колонны
Реферат по теме Управление маркетингом в отраслях
Правовое регулирование имущественных отношений супругов посредством законного и договорного режима - Государство и право дипломная работа
Сестринский процесс при инфаркте миокарда - Медицина курсовая работа
Материальная ответственность работодателя - Государство и право курсовая работа


Report Page