为什么编辑框不响应Ctrl+C和Ctrl+V呢?

zeronow 2004-04-05 08:57:08
为什么FormView中编辑框不响应Ctrl+C和Ctrl+V呢?鼠标右键的拷贝粘贴确是支持的.
...全文
184 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeronow 2004-04-05
  • 打赏
  • 举报
回复
何志丹:风云伐日,十分感谢.结贴.
  • 打赏
  • 举报
回复
nKeyCode需要考虑大小写吗?
我试了一下,不需要
Sorry!
zeronow 2004-04-05
  • 打赏
  • 举报
回复
谢谢应该为,nKeyCode需要考虑大小写吗?

BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
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 CFrameWnd::PreTranslateMessage(pMsg);
}
  • 打赏
  • 举报
回复
BOOL CCsdn9View::PreTranslateMessage(MSG* pMsg)
{
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);
}
zeronow 2004-04-05
  • 打赏
  • 举报
回复
成功结贴.

BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
UINT nKeyCode = pMsg->wParam; // virtual key code of the key pressed

if ( (nKeyCode == _T('C') || nKeyCode == _T('X')
|| nKeyCode == _T('V')) &&
(::GetKeyState(VK_CONTROL) & 0x8000) )
{
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
return(TRUE);

}
return CFrameWnd::PreTranslateMessage(pMsg);
}
  • 打赏
  • 举报
回复
if(WM_KEYDOWN == pMsg->message)
{
int ch = (int) pMsg->wParam ;
if('C' == ch || 'c' == ch)
{
int nState = GetKeyState(VK_CONTROL);
if(nState < 0)
::SendMessage(GetDlgItem(IDC_EDIT1)->GetSafeHwnd(),WM_CUT,ID_EDIT_CUT,0);
}

}
zeronow 2004-04-05
  • 打赏
  • 举报
回复
利用PreTranslate,是否需要自己编程处理拷贝粘贴操作呢?谁有这方面的例子? 有无更简单的法子呀
zhangcrony 2004-04-05
  • 打赏
  • 举报
回复
Should be all right!
  • 打赏
  • 举报
回复
焦点不在你想要的控件上
用PreTranslate
用java写windows记事本源代码,具体功能如下: 1.文件(F) 可以通过点击菜单或快捷键(alt + F)打开菜单页 1.1新建(N) 菜单内点击或助记符N或快捷键(ctrl + N) 点击后弹出对话框,询问是否保存到***.txt? 点击保存(S):保存文本并关闭,再新建新的文本 点击不保存(N):不保存文本并关闭,再新建新的文本 点击取消:取消新建操作 1.2打开(O) 菜单内点击或助记符O或快捷键(ctrl + O) 点击后弹出对话框,询问是否保存到***.txt? 点击保存(S):保存文本,弹出选择文件对话框 点击不保存(N):不保存文本,弹出选择文件对话框 ==》选择文件对话框: 选择打开(O):就打开新的文本 选择取消:取消打开操作,返回原文本 点击取消:取消打开操作 1.3保存(S) 菜单内点击或助记符S或快捷键(ctrl + S) 点击后保存文本内容 1.4另存为(A) 菜单内点击或助记符A 点击后打开另存为对话框,选择路径和设置文件名 选择保存(S):就会在该路径保存文本,原文本内容不会保存并关闭,打开另存的文本 取消:取消另存为操作,返回原文本 1.5页面设置(U)(只实现页面边距,其他未实现) 菜单内点击或助记符U 点击后打开页面设置对话框:可以设置一下内容 纸张:大小(Z)、来源(S) 方向:纵向(O)、横向(A) 页面边距(毫米):左(L)右(R)上(T)下(B) 页眉(H)、页脚(F)、预览:(图片) 选择确定:保存新的页面设置 选择取消:取消页面设置 1.6打印(P)(改功能未完全实现,使用可能会报错) 菜单内点击或助记符P或快捷键(ctrl + P) 点击后弹出打印对话框 1.7退出(X) 菜单内点击或助记符X 点击后退出本文本文件 2.编辑(E) 可以通过点击菜单或快捷键(alt + E)打开菜单页 2.1撤销(U) 菜单内点击或助记符U或快捷键(ctrl + Z) 响应后返回上一步操作 2.2剪切(T) 菜单内点击或助记符T或快捷键(ctrl + X) 响应后光标选中的内容提取到剪贴板,并删除该内容,光标定位在元初识位置 2.3复制(C) 菜单内点击或助记符C或快捷键(ctrl + C) 响应后光标选中内容提取到剪贴板,光标位置保持不变 2.4粘贴(P) 菜单内点击或助记符P或快捷键(ctrl + V) 响应后光标选中的内容被替换为剪贴板的内容,光标选中刚刚粘贴的内容 2.5删除(L) 菜单内点击或助记符L或快捷键(DEL) 响应后删除光标选中的内容 2.6查找(F) 菜单内点击或助记符F或快捷键(ctrl + F) 响应后弹出查找对话框:输入查找的内容,可以选择区分大小写和选择查找的方向 点击查找之后光标会选中响应的查找内容,没找到会弹出找不到对话框 2.7查找下一个(N) 菜单内点击或助记符N或快捷键(F3) 查找框有内容就直接查找贯标位置以后的内容,查找框没有内容直接弹出查找框 2.8替换(R) 菜单内点击或助记符R或快捷键(ctrl + H) 弹出替换对话框,有全部替换和替换当前两种 当前替换:替换光标选中的内容,光标移动到下一个查找内容上 2.9转到(G) 菜单内点击或助记符G或快捷键(ctrl + G) 在自动换行未选中的情况下,点击之后弹出转到指定行对话框 2.10全选(A) 菜单内点击或助记符A或快捷键(ctrl + A) 响应后选中全部文本内容 2.11时间/日期(D) 菜单内点击或助记符D或快捷键(F5) 在光标选中的内容里修改为当前时间 3.格式(O) 可以通过点击菜单或快捷键(alt + O)打开菜单页 3.1自动换行(W) 菜单内点击或助记符W 选中后,文本会自动换行,且不能点击查看状态栏和转到菜单 3.2字体(F) 菜单内点击或助记符F 弹出字体对话框:可以选择字体(F)、字形(Y)大小(S) 拥有示例和选择脚本,确定后更改全部字体 4.查看(V) 可以通过点击菜单或快捷键(alt + V)打开菜单页 4.1状态栏(S) 菜单内点击或助记符S 在底部会显示光标的起始坐标,第几行第几列 5.帮助(H) 可以通过点击菜单或快捷键(alt + H)打开菜单页 5.1查看帮助(H) 菜单内点击或助记符H 点击弹出帮助文本 5.2关于记事本(A)、 菜单内点击或助记符A 点击弹出关于记事本的对话框 显示它的版本信息

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧