如何在CEdit中使用 ctrl+c ctrl+v等功能? 如题!呵呵,老问题了,一致没搞清楚! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你如果是CFormView,就把菜单里有关ctrl+c ctrl+v的东西全部删除了。 //按下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 ); 如果模式对话框可以正常使用;无模式对话框需要在PreTranslateMessage()中调用IsDialogMessage() 可以拦截PreTranslateMessage()消息 派生自CFormView,是单文档的。测试对话框(Ctrl+T)还可以,程序实际运行时候就不能使用ctrl+c,ctrl+v了.我想应该和剪粘板有关把. 的确是老问题了formView::OnEditCut() { if(GetFocus()) GetFocus()->SendMessage(WM_CUT);} 具体方法如ClassView中添加ID_EDIT_COPY的Command同理添加Paste等 如果是的话,下面的代码没错,(已验证)//Ctrl + COnBtn1(){ 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 + VOnBtn2(){ 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 );} 生日,散分 TCP 套接字聊天与文件传输问题 自己写的基于CStatic控件,被其他窗口覆盖时候被磨掉 OpenGL如何保存整幅图像 如何判断子对话框是否打开 VC++ 6.0 皮肤问题 将CToolBar m_toolbar 和CStatusBar m_statusbar动态的设置showwindow的问题 如何在ATL中調用vb寫的dll 急需高手:使用完成端口实现的服务器与客户端互相传递文件!! 如何实现鼠标的自动跟踪?(高手请回) 请问在ATL中如何释放一个 component? 关于SPTI程序转为ASPI
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 );
无模式对话框需要在PreTranslateMessage()中调用IsDialogMessage()
我想应该和剪粘板有关把.
formView::OnEditCut()
{
if(GetFocus()) GetFocus()->SendMessage(WM_CUT);
}
ClassView中添加ID_EDIT_COPY的Command
同理添加Paste等
//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 );
}