如果在CEdit中实现Ctrl+V、Ctrl+C、Ctrl+X的功能

转载 2004年08月17日 22:03:00
BOOL CCsdn9View::PreTranslateMessage(MSG* pMsg)
{
// if(WM_RBUTTONDOWN == pMsg->message)
//  return true;
/* if(WM_KEYDOWN == pMsg->message)
 {
  int nState = GetKeyState(VK_CONTROL);
  if(nState < 0)
  {   
   int  ch = (int) pMsg->wParam ;
   if('x' == ch || 'X' == ch)    
    ::SendMessage(GetDlgItem(IDC_EDIT1)->GetSafeHwnd(),WM_CUT,ID_EDIT_CUT,0);
   if('C' == ch || 'c' == ch)    
    ::SendMessage(GetDlgItem(IDC_EDIT1)->GetSafeHwnd(),WM_COPY,ID_EDIT_CUT,0);
   if('v' == ch || 'V' == ch)    
    ::SendMessage(GetDlgItem(IDC_EDIT1)->GetSafeHwnd(),WM_PASTE,ID_EDIT_CUT,0);
  } 
 }
 
 return CFormView::PreTranslateMessage(pMsg);*/
 UINT  nKeyCode = pMsg->wParam; // virtual key code of the key pressed
 
 if (pMsg->message == WM_KEYDOWN)
 {  
  if ( (nKeyCode == _T('C') || nKeyCode == _T('X')
   || nKeyCode == _T('V')) &&
   (::GetKeyState(VK_CONTROL) & 0x8000) )
  {
   ::TranslateMessage(pMsg);
   ::DispatchMessage(pMsg);
   return(TRUE);
   
  }
 }
 return CFormView::PreTranslateMessage(pMsg);
 
}
注释掉的代码是别一种实现方法
没有下面的一种简洁

[MFC] 通过CEdit派生类让MFC中的Edit支持Ctrl+A全选功能

MFC中的Edit控件用于输入数据,当输入的数据为大段数字的时候,全选功能就显得很重要了,可偏偏在MFC中Edit控件就不支持全选,Ctrl+A不行,双击也不行。Ctrl+C和Ctrl+V都是默认支持...
  • ssdlearnerused
  • ssdlearnerused
  • 2014-09-20 10:36:05
  • 1078

CEdit 响应 ctrl+a ctrl+c ctrl+v ctrl+x

通常在CFormView中创建的CEdit等空间是不会响应ctrl+c等消息,解决方法是重写PreTranslateMessage,具体如下: BOOL CInfoView::PreTranslat...
  • yangsongqbs
  • yangsongqbs
  • 2012-07-31 15:32:40
  • 1315

js控制ctrl+c 和 ctrl+v 不可使用

document.oncontextmenu = function(){ return false; } document.onkeydown = function(){ if (even...
  • zhanghai005243
  • zhanghai005243
  • 2016-06-29 17:53:28
  • 782

emacs中的Ctrl+c、Ctrl+v、Ctrl+x

keyboard:Go to the beginning of the region and hit Ctrl-space. Go to the end, and type Ctrl-w to cut...
  • oucC229
  • oucC229
  • 2010-04-11 20:30:00
  • 424

js模拟Ctrl+C复制、Ctrl+V粘贴功能之tabindex、focus、keyCode

话不多说,今天遇到了一个大坑,是这样的,一颗DOM树中有一个节点,要对其实现Ctrl+C复制、Ctrl+V粘贴功能。起初拿到这个任务,我首先想到的是选中它,然后按下Ctrl、C实现复制,再按下Ctrl...
  • HuaiCheng9067
  • HuaiCheng9067
  • 2016-02-17 21:52:09
  • 5219

eclipse使用ctrl+c、ctrl+v卡顿现象

使用eclipse时用到ctrl+c、ctrl+v的时候总是要卡顿一会儿,写代码的时候那真是各种不爽啊! 所以百度了一下,找到的解决方法,确实也解决了卡顿的现象、 解决方法:Windows —》 ...
  • qq_36023682
  • qq_36023682
  • 2017-09-28 15:05:23
  • 391

PHPStorm要使用默认ctrl+v等

PhpStorm 要使用默认ctrl+c  ctrl+v  ctrl+x需要在other  -> setting 里将要使用的键设置为ide就ok了...
  • lovemyself196221
  • lovemyself196221
  • 2017-09-08 17:02:39
  • 287

SWT中判断Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+X组合键

在开发中,Ctrl+A, Ctrl+C, Ctrl+V, Ctrl+X是较常用的组合键,判断方法如下: final Text t = new Text(shell, SWT.BORDER | SWT....
  • kdevn
  • kdevn
  • 2009-07-30 20:14:00
  • 3714

屏蔽Ctrl+V Ctrl+C

情况1: 在WinForm中的TextBox控件没有办法屏蔽CTRL-V的剪贴板粘贴动作,如果需要一个输入框,但是不希望用户粘贴剪贴板的内容,可以改用RichTextBox控件,并且在KeyDown中...
  • u012744024
  • u012744024
  • 2014-03-15 16:21:19
  • 1305

Intellij Ctrl+c,Ctrl+v 退格键时效,要直接编辑文件还有问题,要输入i键

公司推行使用Intellij Idea,跟同事同样安装,但是自己安装的快捷键就一堆问题,设置快捷键的方式、重新设置快捷键也不行 最后找到是由于自动安装了Vim插件,所以在Win下的习惯都变成Vim编...
  • tfancy2012
  • tfancy2012
  • 2016-11-22 09:56:52
  • 1541
收藏助手
不良信息举报
您举报文章:如果在CEdit中实现Ctrl+V、Ctrl+C、Ctrl+X的功能
举报原因:
原因补充:

(最多只允许输入30个字)