📄 ownedit.cpp
字号:
// OwnEdit.cpp : implementation file
//
#include "stdafx.h"
#include "Note.h"
#include "OwnEdit.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// COwnEdit
COwnEdit::COwnEdit()
{
m_pMenu= new CMenu();
m_pMenu->LoadMenu(IDR_EDIT_MENU);
}
COwnEdit::~COwnEdit()
{
m_pMenu->Detach();
delete m_pMenu;
}
BEGIN_MESSAGE_MAP(COwnEdit, CEdit)
//{{AFX_MSG_MAP(COwnEdit)
ON_WM_CONTEXTMENU()
ON_COMMAND(ID_COPY, OnCopy)
ON_COMMAND(ID_SELECT_ALL, OnSelectAll)
ON_WM_KEYDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// COwnEdit message handlers
void COwnEdit::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
SetFocus();
CString strText;
strText.Empty();
GetWindowText(strText);
if(strText.IsEmpty())
return;
int nStart=0,nEnd=0;
GetSel(nStart,nEnd);
if(nEnd<=nStart)
m_pMenu->EnableMenuItem(ID_COPY,MF_BYCOMMAND|MF_GRAYED);
else
m_pMenu->EnableMenuItem(ID_COPY,MF_BYCOMMAND|MF_ENABLED);
m_pMenu->GetSubMenu(0)->TrackPopupMenu(
TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_RIGHTBUTTON,
point.x, point.y, this);
}
//截断WM_CHAR消息,不让用户更改内容
BOOL COwnEdit::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if(pMsg->message==WM_CHAR)
pMsg->wParam=0;
return CEdit::PreTranslateMessage(pMsg);
}
void COwnEdit::OnCopy()
{
// TODO: Add your command handler code here
Copy();
}
void COwnEdit::OnSelectAll()
{
// TODO: Add your command handler code here
SetSel(0,-1);
}
void COwnEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
if(nChar==46) //按下了Del
return;
CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -