Halcon机器视觉论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 630|回复: 0
收起左侧

[资料] VC编辑框(EDIT)的自动换行与自动滚屏的方法

[复制链接]
  • TA的每日心情
    点赞
    2019-7-4 17:16
  • 签到天数: 41 天

    连续签到: 1 天

    [LV.5]常住居民I

    13

    主题

    52

    帖子

    557

    积分

    Rank: 3

    积分
    557
    发表于 2018-5-10 19:11:25 | 显示全部楼层 |阅读模式

    部门助理 |主题 13|帖子 52|积分 557

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    方法一:(当EDIT映射到一CString时)
    m_String = m_String + sNewString + "\r\n"    //自动换行
    UpdateData(false);

    此法只能做到自动换行,不会自动滚屏到最后一行。

    方法二:(当EDIT映射到一EDIT时)
    m_Edit.SetSel(-1, -1);       //自动滚屏
    m_Edit.ReplaceSel(sNewString+"\r\n");    //自动换行
    UpdateData(true);

    此法可以做到自动换行,并自动滚屏到最后一行。

    以上,m_String、m_Edit.分别为给编辑框添加的成员变量;sNewString 为要显示的字符串
    注意二法中UpdataData参数的区别。
    我发现修改编辑框的属性:Auto_HScroll等用处不大。

    From: http://www.cnitblog.com/liaoqingshan/archive/ 2006/08/28/16077.aspx



    方法三:CEdit没有类似AppendText的函数,如果采用SetWindowText,会造成画面闪烁,滚动条也会有问题。

    另一种追加方式可以解决这些问题:

    int nLength = m_edit.SendMessage(WM_GETTEXTLENGTH);
    或者
    int nLength=m_edit.GetWindowTextLength();
    m_edit.SetSel(nLength, nLength);
    m_edit.ReplaceSel( " abc " ); UpdateData(true);


    发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

    如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题前面加上【已解决】

    回报帮助你解决问题的坛友,右下角【免费评分】赠与对方视觉币和热心值,伸手党遭人唾弃,做一个热心并受欢迎的人!

    您需要登录后才可以回帖 会员登录 | 会员注册

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    Halcon鸟叔机器视觉1鸟叔机器视觉 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用反馈 | 51Halcon论坛管理团队论坛管理团队

    申请友链| 小黑屋| 手机版| Archiver| Halcon机器视觉论坛  

    粤ICP备15095995号-2 粤公网安备44030602000670号

    Powered by Discuz! X3.4 Licensed© 2015-2019 Comsenz Inc.

    快速回复 返回顶部 返回列表