我现在用的edit box控件用右键选取拷贝再粘贴就好用!
如果直接用ctrl+c拷贝就不好用!
请问为什么呀!
谢谢!
代码如下:
BOOL CLoginDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsg->message == WM_KEYDOWN)
{
if ( pMsg->wParam == VK_RETURN) 
{
if( pMsg->wParam == VK_ESCAPE )
{
return TRUE;
}
else if( pMsg->wParam == VK_TAB)
{
CWnd* pWndNext = GetNextDlgTabItem(GetFocus());
if (pWndNext) 
{
pWndNext->SetFocus();
}
return TRUE;
}
else if(pMsg->wParam == //这里应该加入拷贝的虚拟键码把,因该怎么写呀!)
{
//这里应该加入拷贝函数把,应该怎么写
}
else
{
return FALSE;
}
}
else
{
return FALSE;
}
}

解决方案 »

  1.   

    用系统自带的剪贴板。何必发消息呢。对第一个编辑框,先用OpenClipboard打开,然后EmptyClipboard清空,接着SetClipboardData放到剪贴板上,用ClosEClipboard关闭。对第二个编辑框,先OpenClipboard,然后GetClipboard,再CloseClipboard,就算在不同程序中也可以粘贴。
      

  2.   

    我也碰到过这样的问题,如果在一个Dialog上的Edit可以用快捷键,但是一个FormView上的Edit则用不了快捷键。
    后来我将菜单中的"粘贴"响应了一个函数就可以了。(我使用了分格栏)
    void CMainFrame::OnEditPaste() 
    {
    // TODO: Add your command handler code here
    CWnd *pwnd,*pwndItem;
    pwnd = m_wndSplitter.GetPane(0,1);
    pwndItem = pwnd->GetFocus();
    if (pwndItem)
    {
    ::SendMessage(pwndItem->m_hWnd,WM_PASTE,0,0);
    }
    }
      

  3.   

    ctrl + c 的虚拟键是什么呀?
      

  4.   

    我做的其他的都好用!但这个事我用纯日文系统做的!在中文xp下日文环境下把.rc中的这段代码拷过来的!并把模板改为英文!请问还需要改什么才能拷贝粘贴马?
      

  5.   

    [email protected]
    谢谢!