在CEdit怎么实现快捷键?

RedSnowli 2003-08-31 04:49:26
我用一个从CEdit中派生的类,但是Ctrl+a,Ctrl+x等都实现不了,请指点一二,先谢了!
...全文
98 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
RedSnowli 2003-09-01
  • 打赏
  • 举报
回复
多谢林兄,我刚加入,不知道怎样加分,等会加了,一定多多补上。
bcpl 2003-08-31
  • 打赏
  • 举报
回复
1. 为Ctrl_a,Ctrl_x等加速键资源(IDR_ACCELERATOR1)
2. 在CEdit派生类(设为CMyEdit)里添加成员变量HACCEL m_hAccel;
3. 在构造函数里
CMyEdit::CMyEdit()
{
m_hAccel = LoadAccelerators(AfxGetInstanceHandle(),
MAKEINTRESOURCE(IDR_ACCELERATOR1));
}
4. 改写CMyEdit的PreTranslateMessage虚函数

BOOL CMyEdit::PreTranslateMessage(MSG* pMsg)
{
if(::TranslateAccelerator(m_hWnd, m_hAccel, pMsg))
{
return TRUE;
}

return CEdit::PreTranslateMessage(pMsg);
}
5. 处理加速键命令
void CMyEdit::OnEditSelectAll()
{
SetSel(0, -1);
}

void CMyEdit::OnEditCut()
{
SendMessage(WM_CUT);
}

void CMyEdit::OnEditCopy()
{
SendMessage(WM_COPY);
}

void CMyEdit::OnEditPaste()
{
SendMessage(WM_PASTE);
}

例子程序
http://my.6to23.com/cigarette/dd8.zip

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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