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

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);
 
}
注释掉的代码是别一种实现方法
没有下面的一种简洁


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值