⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 outputedit.cpp

📁 eCos1.31版
💻 CPP
字号:
//####COPYRIGHTBEGIN####//                                                                          // ----------------------------------------------------------------------------// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.//// This program is part of the eCos host tools.//// This program is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or (at your option) // any later version.// // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for // more details.// // You should have received a copy of the GNU General Public License along with// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.//// ----------------------------------------------------------------------------//                                                                          //####COPYRIGHTEND####// OutputEdit.cpp : implementation file//#include "stdafx.h"#include "OutputEdit.h"#include "TestToolRes.h"		// main symbols#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// COutputEditCOutputEdit::COutputEdit(){}COutputEdit::~COutputEdit(){}BEGIN_MESSAGE_MAP(COutputEdit, CEdit)	//{{AFX_MSG_MAP(COutputEdit)	ON_WM_CONTEXTMENU()	ON_COMMAND(ID_EDIT_SELECT_ALL, OnEditSelectAll)	ON_COMMAND(ID_EDIT_COPY, OnEditCopy)	ON_COMMAND(ID_EDIT_CLEAR, OnEditClear)	ON_WM_CHAR()	ON_WM_SETFOCUS()	ON_WM_KILLFOCUS()	ON_COMMAND(ID_TT_EDIT_SAVE, OnEditSave)	//}}AFX_MSG_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// COutputEdit message handlersvoid COutputEdit::OnContextMenu(CWnd* pWnd, CPoint point) {    UNUSED_ALWAYS(pWnd);    if(GetWindowTextLength()>0){	    CMenu menu;	    menu.LoadMenu(IDR_TT_CONTEXTMENU2);	    CMenu *pPopup=menu.GetSubMenu(0);                int nBeg, nEnd;        GetSel( nBeg, nEnd );                if(nBeg==nEnd ){            pPopup->EnableMenuItem(ID_EDIT_COPY,MF_BYCOMMAND|MF_GRAYED);        }        pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON, point.x,point.y,this);    }	    }void COutputEdit::OnEditSelectAll() {	SetSel(0,-1);}void COutputEdit::OnEditCopy() {	Copy();	}void COutputEdit::OnEditClear() {	SetWindowText(_T(""));}void COutputEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) {    switch(nChar){        case 1: // ctrl+A            OnEditSelectAll();            break;        case 3: // ctrl+C            OnEditCopy();            break;        default:            CEdit::OnChar(nChar, nRepCnt, nFlags);            break;    }}// Control gets sent WM_SETSEL (0,0xffffffff) when property page is selected// I don't know why, but this works around it:void COutputEdit::OnSetFocus(CWnd* pOldWnd) {	CEdit::OnSetFocus(pOldWnd);    SetSel(m_dwSel);	}void COutputEdit::OnKillFocus(CWnd* pNewWnd) {    m_dwSel=GetSel();		CEdit::OnKillFocus(pNewWnd);}void COutputEdit::OnEditSave() {	CFileDialog dlg( FALSE, _T("log"), _T("Output"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, 				_T("Log Files (*.log)|*.log|All Files (*.*)|*.*||"));	if(IDOK==dlg.DoModal()){	    TRY	    {    		    CStdioFile f( dlg.GetPathName(), CFile::modeCreate | CFile::modeWrite );		    CString str;		    GetWindowText(str);		    f.WriteString(str);		    f.Close();	    }	    CATCH( CFileException, e )	    {		    MessageBox(_T("Failed to write file"));	    }	    END_CATCH	}	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -