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

📄 textedit.cpp

📁 绘图软件
💻 CPP
字号:
// TextEdit.cpp : implementation file
//

#include "stdafx.h"
#include "eastdraw.h"
#include "TextEdit.h"
#include "ReginSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTextEdit

CTextEdit::CTextEdit()
{
	m_IsMoving=false;
	m_IsOnMoving=false;
	m_Font=new CFont;
    m_Font->CreatePointFont (100, _T ("Arial"));
	
}

CTextEdit::~CTextEdit()
{
}


BEGIN_MESSAGE_MAP(CTextEdit, CEdit)
	//{{AFX_MSG_MAP(CTextEdit)
	ON_WM_CONTEXTMENU()
	ON_COMMAND(ID_UnDo, OnUnDo)
	ON_COMMAND(ID_Cut, OnCut)
	ON_COMMAND(ID_Copy, OnCopy)
	ON_COMMAND(ID_Past, OnPast)
	ON_COMMAND(ID_Delete, OnDelete)
	ON_COMMAND(ID_SelectAll, OnSelectAll)
	ON_COMMAND(ID_Move, OnMove)
	ON_WM_LBUTTONDOWN()
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONUP()
	ON_COMMAND(ID_MENUITEM_Size, OnMENUITEMSize)
	ON_WM_CREATE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTextEdit message handlers


void CTextEdit::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	// TODO: Add your message handler code here
CMenu menuTextEdit;
menuTextEdit.LoadMenu(IDR_MENU_TextEdit);
menuTextEdit.CheckMenuItem(ID_Move,m_IsMoving?MF_CHECKED:MF_UNCHECKED);

menuTextEdit.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);
	
}

void CTextEdit::OnUnDo() 
{
	// TODO: Add your command handler code here
	CEdit::Undo();	
}

void CTextEdit::OnCut() 
{
	// TODO: Add your command handler code here
	CEdit::Cut();	
}

void CTextEdit::OnCopy() 
{
	// TODO: Add your command handler code here
	CEdit::Copy();	
}

void CTextEdit::OnPast() 
{
	// TODO: Add your command handler code here
	CEdit::Paste();	
}

void CTextEdit::OnDelete() 
{
	// TODO: Add your command handler code here
	CEdit::Clear();	
}

void CTextEdit::OnSelectAll() 
{
	// TODO: Add your command handler code here
	CEdit::SetSel(0,-1);
}

void CTextEdit::OnMove() 
{
	// TODO: Add your command handler code here
 
	m_IsMoving=!m_IsMoving;
	
}







void CTextEdit::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default

	
	m_FirstPoint=point;
	CEdit::OnLButtonDown(nFlags, point);
}

void CTextEdit::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
 /*if(m_IsOnMoving)
 { 
   CRect rect;
   this->GetWindowRect(&rect);
   m_PositionPoint.Offset(point.x-m_FirstPoint.x,point.y-m_FirstPoint.y);
   this->MoveWindow(m_PositionPoint.x,m_PositionPoint.y,rect.Width(),rect.Height(),true);	
   this->m_FirstPoint=point;
  }
  */
 
   CEdit::OnMouseMove(nFlags, point);
}

void CTextEdit::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
/*	if(m_IsOnMoving)
	{
     CRect rect;
     this->GetWindowRect(&rect);
     m_PositionPoint.Offset(point.x-m_FirstPoint.x,point.y-m_FirstPoint.y);
     this->MoveWindow(m_PositionPoint.x,m_PositionPoint.y,rect.Width(),rect.Height(),true);
	 this->m_FirstPoint=point;
	  m_IsOnMoving=false;
	}
	
*/
      CEdit::OnLButtonUp(nFlags, point);
	
}

void CTextEdit::OnMENUITEMSize() 
{
	// TODO: Add your command handler code here
    CRect rect;
    GetWindowRect(&rect);
    CReginSet dRegDlg;
	dRegDlg.m_Length=rect.Width();

	dRegDlg.m_Width=rect.Height();
	
	if(dRegDlg.DoModal()==IDOK)
	{
	this->MoveWindow(m_PositionPoint.x,m_PositionPoint.y,dRegDlg.m_Length,dRegDlg.m_Width);
	}
}

void CTextEdit::SetMyFont(CFont *font)
{
   LOGFONT lfFont;
   font->GetLogFont(&lfFont);
  
   m_Font->DeleteObject();
   m_Font->CreateFontIndirect(&lfFont);
   SetFont(m_Font);
 
}



int CTextEdit::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CEdit::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	this->SetFont(m_Font);
	return 0;
}

⌨️ 快捷键说明

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