//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<WPARAM>(dc.GetSafeHdc()), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
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<HCURSOR>(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("Не могу открыть файл");