p align="left">int nCountFind = strFind.GetLength(); int n = m_strText.Delete(nStart, nCountText); string strTmp = m_strText; static const basic_string <char>::size_type npos = -1; size_t ind = strTmp.rfind (strFind); if (ind != npos ) pEdit->SetSel((int)ind, ind + nCountFind); else MessageBox(_T("Не удается найти \"") + strFind + _T("\"") ,_T("Блокнот"), MB_OK | MB_ICONINFORMATION); n_radio1 = FALSE; n_radio2 = FALSE; } GetDlgItem(IDC_EDIT11)->SetFocus(); } void m_nauti::OnBnClickedCancel()//Выход------------------------------ { OnCancel(); // Сбрасываем указатель на дочернее окно в родительском окне ((CMenuDlg *)m_pParent)->m_pAddDlg = NULL; // Уничтожаем дочернее окно DestroyWindow(); } void m_nauti::OnDestroy()//ОН дестрой-------------------------------------- { CDialog::OnDestroy(); // Уничтожаем объект delete this; } Код модуля zamenit.cpp // Zamenit.cpp : implementation file // #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 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
Страницы: 1, 2, 3, 4
|