📄 sendedit.cpp
字号:
// SendEdit.cpp : implementation file
//
#include "stdafx.h"
#include "g.h"
#include "sendEdit.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#define MAXSIZE 20
/////////////////////////////////////////////////////////////////////////////
// CSendEdit
CSendEdit::CSendEdit()
{
m_nPos=m_nSize=0;
m_cmdBuffer.SetSize(MAXSIZE);
}
CSendEdit::~CSendEdit()
{
}
BEGIN_MESSAGE_MAP(CSendEdit, CEdit)
//{{AFX_MSG_MAP(CSendEdit)
ON_WM_KEYDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSendEdit message handlers
void CSendEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
switch(nChar)
{
case VK_UP:
LastCmd();
break;
case VK_DOWN:
NextCmd();
}
CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
}
void CSendEdit::BufferCmd(CString cmd)
{
for(int i=0;i<m_nSize;i++)
{
if(m_cmdBuffer[i]==cmd)
{
m_nPos=i;
break;
}
}
if(i==m_nSize)
{
if(m_nSize<MAXSIZE)
{
m_nPos=m_nSize++;
m_cmdBuffer.Add(cmd);
}
else
i=0;
}
for(int j=i;j<m_nSize-1;j++)
m_cmdBuffer[j]=m_cmdBuffer[j+1];
m_cmdBuffer[j]=cmd;
m_nPos=j;
}
void CSendEdit::LastCmd()
{
if(m_nSize)
{
if(m_nPos>0)
m_nPos--;
CString s(m_cmdBuffer[m_nPos]);
SetWindowText(s);
}
}
void CSendEdit::NextCmd()
{
if(m_nSize)
{
if(m_nPos<m_nSize-1)
m_nPos++;
CString s(m_cmdBuffer[m_nPos]);
SetWindowText(s);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -