48323 (Проект текстового редактора), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Проект текстового редактора", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48323"

Текст 2 страницы из документа "48323"

#include "stdafx.h"

#include "Menu.h"

#include "Zamenit.h"

#include ".\zamenit.h"

#include "MenuDlg.h"

// Zamenit dialog

IMPLEMENT_DYNAMIC(Zamenit, CDialog)

Zamenit::Zamenit(CWnd* pParent /*=NULL*/)

: CDialog(Zamenit::IDD, pParent)

, m_pParentz(pParent)

, m_nStartPosR(0)

, m_bFlagRepl(false)

, m_bFlagReplAll(false)

, strText(_T(""))

, strFind(_T(""))

{

}

Zamenit::~Zamenit()

{

//m_pParentz = pParent;

}

void Zamenit::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(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_WM_DESTROY()

ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)

END_MESSAGE_MAP()

// Zamenit message handlers

void Zamenit::OnBnClickedButton1()//Найти далее----------------------------

{

// Получаем доступ к полям ввода

CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));

CEdit *pFind = (CEdit *)GetDlgItem(IDC_EDIT22);

// Получаем текст из полей ввода

//CString strText, strFind;

pEdit->GetWindowText(strText);

pFind->GetWindowText(strFind);

if (!IsDlgButtonChecked(IDC_CHECK1))

{

strText.MakeLower();

strFind.MakeLower();

}

int nStart, nEnd;

int nFindPos;

pEdit->GetSel(nStart, nEnd);

m_nStartPosR = nEnd;

nFindPos = strText.Find(strFind, m_nStartPosR);

if (nFindPos == -1 && !m_bFlagReplAll)

{

MessageBox(_T("Не удается найти \"") + strFind + _T("\"")

,_T("Блокнот"), MB_OK | MB_ICONINFORMATION);

}

else

{

// Нашли - выделяем найденное

pEdit->SetSel(nFindPos, nFindPos + strFind.GetLength());

// Определяем позицию, с которой надо продолжать поиск

m_nStartPosR = nFindPos + strFind.GetLength();

}

m_bFlagRepl = TRUE;

}

void Zamenit::OnBnClickedButton2()//Заменить---------------------------

{

int nStart, nEnd;

//CEdit *pEdit = (CEdit *)((CMenuDlg *)m_pParent)->GetDlgItem(IDC_EDIT1);

//CEdit *pEdit = (CEdit *)(CMenuDlg *)GetDlgItem(IDC_EDIT1);

CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));

pEdit->GetSel(nStart, nEnd);

if (!m_bFlagRepl)

{

OnBnClickedButton1();

m_bFlagRepl = TRUE;

}

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);

CString strSours;

pSours->GetWindowText(strSours);

pEdit->ReplaceSel(strSours);

OnBnClickedButton1();

}

}

void Zamenit::OnEnChangeEdit22()

{

CString strFind1;

GetDlgItemText(IDC_EDIT22, strFind1);

CButton *p1 = (CButton *)GetDlgItem(IDC_BUTTON1);

CButton *p2 = (CButton *)GetDlgItem(IDC_BUTTON2);

CButton *p3 = (CButton *)GetDlgItem(IDC_BUTTON3);

if (strFind1 != _T(""))

{

p1->EnableWindow(TRUE);

p2->EnableWindow(TRUE);

p3->EnableWindow(TRUE);

}

else

{

p1->EnableWindow(FALSE);

p2->EnableWindow(FALSE);

p3->EnableWindow(FALSE);

}

}

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);

//pEdit->SetSel(0, 0);

// Получаем текст из полей ввода

//CString strText, strFind;

pEdit->GetWindowText(strText);

pFind->GetWindowText(strFind);

int nStart, nEnd;

int nFindPos;

pEdit->GetSel(nStart, nEnd);

m_nStartPosR = nEnd;

nFindPos = strText.Find(strFind, m_nStartPosR);

m_nStartPosR = nFindPos + strFind.GetLength();

m_bFlagReplAll = TRUE;

int nCountText = strText.GetLength();

while (nCountText)

{

OnBnClickedButton2();

nCountText--;

}

pEdit->SetSel(0, 0);

m_bFlagReplAll = FALSE;

}

void Zamenit::OnDestroy()//Он дестрой---------------------------------------

{

CDialog::OnDestroy();

// Уничтожаем объект

delete this;

//OnCancel();

// Сбрасываем указатель на дочернее окно в родительском окне

//((CMenuDlg *)m_pParent)->m_ppereutiDlg = NULL;

//((CMenuDlg *)AfxGetMainWnd())->m_ppereutiDlg = NULL;

//CEdit *pEdit = (CEdit *)(((CMenuDlg *)AfxGetMainWnd())->GetDlgItem(IDC_EDIT1));

// Уничтожаем дочернее окно

//DestroyWindow();

}

void Zamenit::OnBnClickedCancel()//Выход---------------------------------

{

OnCancel();

// Сбрасываем указатель на дочернее окно в родительском окне

((CMenuDlg *)m_pParentz)->m_zamenitDlg = NULL;

//((CMenuDlg *)AfxGetMainWnd())->m_ppereutiDlg = NULL;

// Уничтожаем дочернее окно

DestroyWindow();}

Код модуля pereuty.cpp

// pereuti.cpp : implementation file

//

#include "stdafx.h"

#include "Menu.h"

#include "pereuti.h"

// pereuti dialog

IMPLEMENT_DYNAMIC(pereuti, CDialog)

pereuti::pereuti(CWnd* pParent /*=NULL*/)

: CDialog(pereuti::IDD, pParent)

, m_position(0)

{

}

pereuti::~pereuti()

{

}

void pereuti::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT1, m_position);

DDX_Control(pDX, IDC_EDIT1, m_edit_pereuti);

}

BEGIN_MESSAGE_MAP(pereuti, CDialog)

END_MESSAGE_MAP()

// pereuti message handlers

Код модуля MenuDlg.cpp(Основной)

// MenuDlg.cpp : implementation file **********************************************************************************

// Kamenev Alexej 40 01 02

// 417318 / 10

// MIDO BNTU

// Created by Keylo99er

//

//*********************************************************************************************************************

#include "stdafx.h"

#include "Menu.h"

#include "MenuDlg.h"

#include ".\menudlg.h"

#include "mein.h"

#include "m_nauti.h"

#include "Zamenit.h"

#include "pereuti.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#endif

#define WM_TRAYICON (WM_APP + 1)

// CMenuDlg dialog

CMenuDlg::CMenuDlg(CWnd* pParent /*=NULL*/)

: CDialog(CMenuDlg::IDD, pParent)

, m_pAddDlg(NULL)

, m_zamenitDlg(NULL)

, m_nTimer(0)

, m_uTimer(0)

, m_bFlag(false)

, m_bFlMenu(false)

, m_strPath(_T("Безымянный"))

, m_strFileName(_T("*.txt"))

{

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CMenuDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

DDX_Control(pDX, IDC_EDIT1, m_Edit1);

}

BEGIN_MESSAGE_MAP(CMenuDlg, CDialog)

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

//}}AFX_MSG_MAP

ON_COMMAND(ID_Sozdat, OnSozdat)

ON_COMMAND(ID_Wixod, OnWixod)

ON_COMMAND(ID_Otkrit, OnOtkrit)

ON_COMMAND(ID_Soxranit, OnSoxranit)

ON_COMMAND(ID_Soxranit_kak, OnSoxranitkak)

ON_COMMAND(ID_Wremja, OnWremja)

ON_COMMAND(ID_Widelit_wse, OnWidelitwse)

ON_COMMAND(ID_Shrift, OnShrift)

ON_WM_SIZE()

ON_COMMAND(ID_blokn, Onblokn)

ON_COMMAND(ID_Udalit, OnUdalit)

ON_COMMAND(ID_Wirezat, OnWirezat)

ON_COMMAND(ID_Kopirowat, OnKopirowat)

ON_COMMAND(ID_Wstawit, OnWstawit)

ON_COMMAND(ID_Otmenit, OnOtmenit)

ON_EN_CHANGE(IDC_EDIT1, OnEnChangeEdit1)

ON_WM_INITMENU()

ON_WM_CLOSE()

ON_COMMAND(ID_Sprawka_2, OnSprawka2)

ON_COMMAND(ID_Nauti, OnNauti)

ON_COMMAND(ID_Nauti_dalee, OnNautidalee)

ON_COMMAND(ID_Zamenit, OnZamenit)

ON_COMMAND(ID_T_, OnT)

ON_WM_TIMER()

ON_COMMAND(ID_TRAY_OPEN, OnTrayOpen)

ON_COMMAND(ID_TRAY_EXIT, OnTrayExit)

ON_MESSAGE(WM_TRAYICON, OnTrayIcon)

ON_COMMAND(ID_Trei, OnTrei)

ON_COMMAND(ID_Pereuti, OnPereuti)

ON_WM_INITMENUPOPUP()

END_MESSAGE_MAP()

// CMenuDlg message handlers

BOOL CMenuDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// 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

// SetTimer(1,500,0);

//--------------------------------------------------

CRect rcClient;

GetClientRect(rcClient);

rcClient.InflateRect(-2, -2, -2, -20);

GetDlgItem(IDC_EDIT1)->MoveWindow(rcClient);

//------------------------------------------------

//Акселератор

m_hAccel = ::LoadAccelerators(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_ACCELERATOR1));

//----------------------------------------------------

// Инициализируем шрифт текста

CFont *pFontText = m_Edit1.GetFont();

LOGFONT lfText;

pFontText->GetLogFont(&lfText);

m_fontText.CreateFontIndirect(&lfText);

//m_editMain.m_menuPopup.LoadMenu(IDR_MENU_POPUP);

//----------------------------------------------------

//StatusBar

m_wndStatusBar.Create(WS_CHILD | WS_VISIBLE | CCS_BOTTOM | SBARS_SIZEGRIP,

CRect(0, 0, 0, 0), this, IDC_STATUS_BAR);

CRect rect;

m_wndStatusBar.GetClientRect(&rect);

int nParts[] = {rect.right - 200, - 1};

CString strPartsStatusBar;

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_nTimer = SetTimer(1, 100, NULL);

m_wndStatusBar.ShowWindow(SW_SHOW);

//-------------------------------------------------------

//tray

m_menuTray.LoadMenu(IDR_MENU2);

m_nidTray.cbSize = sizeof(NOTIFYICONDATA);

m_nidTray.hWnd = m_hWnd;

m_nidTray.uID = ID_TRAYICON;

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* MENU = GetMenu();

CMenu* sibmenu = MENU->GetSubMenu(1);

sibmenu->EnableMenuItem(ID_Otmenit, MF_BYCOMMAND | MF_GRAYED);

CMenu* MENU1 = GetMenu();

CMenu* submenu = MENU1->GetSubMenu(1);

submenu->EnableMenuItem(ID_Wirezat, MF_BYCOMMAND | MF_GRAYED);

CMenu* MENU2 = GetMenu();

CMenu* sebmenu = MENU2->GetSubMenu(1);

sebmenu->EnableMenuItem(ID_Kopirowat, MF_BYCOMMAND | MF_GRAYED);

CMenu* MENU3 = GetMenu();

CMenu* sobmenu = MENU3->GetSubMenu(1);

sobmenu->EnableMenuItem(ID_Udalit, MF_BYCOMMAND | MF_GRAYED);

//----------------------------------------------------------------

m_pAddDlg = NULL;

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.

void CMenuDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics(SM_CXICON);

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4123
Авторов
на СтудИзбе
667
Средний доход
с одного платного файла
Обучение Подробнее