从CEdit类派生一个CConsoleShell类,迷惑中...

98440622 2005-04-02 10:37:01
详见http://community.csdn.net/Expert/topic/3902/3902786.xml?temp=.7982294
...全文
46 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
星辰游侠 2005-04-02
  • 打赏
  • 举报
回复
我觉得第一个很好实现阿,你需要在你的派生类中响应OnChar函数,然后不要用默认的CEdit::OnChar
大概这样
void CCmdEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CString str,strtotal;
GetWindowText(str);
strtotal.Format("%s%c",str,nChar);
SetWindowText(strtotal);
// CEdit::OnChar(nChar, nRepCnt, nFlags);
}

基本能实现无论插入点在哪里都可以只输入到最后,你可以配合SetCaretPos(),使效果更好


感觉第二个也可以解决,你的派生类
通过OnKeyDown,OnChar,SetCaretPos,这函数来动态的修改插入点和插入内容,实现这些效果应该没有问题,只是需要很多算法罢了。

你如果想省事点,可以象ZMud那样,一个edit输入命令,一个edit输出执行结果,那样效果也不错

15,979

社区成员

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

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