关于如何更改退格键功能。

kenyle 2008-12-14 11:06:26
例:我在一个Edit里面 输入了:abvalc
我望在到达val的时候一个退格就可以完全删除,但是其它的确是一个个删除。请问大家会如何实现,有没有相关的参考文章。
...全文
265 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenyle 2008-12-14
  • 打赏
  • 举报
回复
问题基本解决 得到一个办法解决,谢谢大家 结分。
ilovedrv 2008-12-14
  • 打赏
  • 举报
回复
可以自己定义一个格式化字符串用来存储edit的内容,但在val字符的前后添加界定符,用不可显示的字符就可以了,

响应Keydown消息时,判断当前字符位置是否处于界定符,如果是的话则删除edit里面的界定符,Relpace就可以了
cnzdgs 2008-12-14
  • 打赏
  • 举报
回复
怎么确定哪些是红色的部分?
kenyle 2008-12-14
  • 打赏
  • 举报
回复
看来我没有描述清楚,我的意思是到达红色部份,可以一次性删除,但是黑色的字还是一个个删除的。
copylegend 2008-12-14
  • 打赏
  • 举报
回复
做一个键盘响应事件,对退格键写函数
xiang_yun 2008-12-14
  • 打赏
  • 举报
回复
自己从CEdit派生一个类MyEdit,自己处理OnKeyDown事件,在里面判断nChar 是否为退格键( VK_BACK),如果是this->SetWindowText("");

void MyEdit::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if (nChar == VK_BACK)
{
this->SetWindowText("");
}
CEdit::OnKeyDown(nChar, nRepCnt, nFlags);
}

15,980

社区成员

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

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