如题!
呵呵,老问题了,一致没搞清楚!

解决方案 »

  1.   

    你如果是CFormView,就把菜单里有关ctrl+c ctrl+v的东西全部删除了。
      

  2.   

    //按下Ctrl键
    keybd_event( VK_CONTROL, NULL,  KEYEVENTF_EXTENDEDKEY |0,  0); 
    //按下c键
    keybd_event( int('c'),NULL,  0, 0 ); 
    //松开Ctrl键
    keybd_event( VK_CONTROL,NULL,   KEYEVENTF_EXTENDEDKEY |   KEYEVENTF_KEYUP,0 ); 
    //松开c键
    keybd_event(int('c'),NULL,KEYEVENTF_KEYUP, 0 );
      

  3.   

    如果模式对话框可以正常使用;
    无模式对话框需要在PreTranslateMessage()中调用IsDialogMessage()
      

  4.   

    可以拦截PreTranslateMessage()消息
      

  5.   

    派生自CFormView,是单文档的。测试对话框(Ctrl+T)还可以,程序实际运行时候就不能使用ctrl+c,ctrl+v了.
    我想应该和剪粘板有关把.
      

  6.   

    的确是老问题了
    formView::OnEditCut() 
    {
    if(GetFocus()) GetFocus()->SendMessage(WM_CUT);
    }
      

  7.   

    具体方法如
    ClassView中添加ID_EDIT_COPY的Command
    同理添加Paste等
      

  8.   

    如果是的话,下面的代码没错,(已验证)
    //Ctrl + C
    OnBtn1()
    {
    m_edit.SetFocus();
    //按下Ctrl键
    keybd_event( VK_CONTROL, NULL, KEYEVENTF_EXTENDEDKEY | 0, 0 );
    //注意大写
    keybd_event( int( 'C' ), NULL, 0, 0 );
    keybd_event( VK_CONTROL, NULL, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
    keybd_event( int( 'C' ), NULL, KEYEVENTF_KEYUP, 0 );
    }
    //Ctrl + V
    OnBtn2()
    {
        m_edit.SetFocus();
    //按下Ctrl键
    keybd_event( VK_CONTROL, NULL, KEYEVENTF_EXTENDEDKEY | 0, 0 );
    keybd_event( int( 'V' ), NULL, 0, 0 );
    keybd_event( VK_CONTROL, NULL, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
    keybd_event( int( 'V' ), NULL, KEYEVENTF_KEYUP, 0 );
    }