c++ Builder TMemo控件自动滚动

本文介绍了在C++ Builder的FMX平台上,如何利用TMemo控件进行日志显示。TMemo相对于TListBox更适合大量文本展示。然而,TMemo的Add函数不会触发OnChange事件,导致无法自动滚动到最后一行。为解决此问题,文章建议使用GoToTextEnd()函数,并指出在使用时需关闭WordWrap属性以确保正确滚动。
摘要由CSDN通过智能技术生成

TMemo控件与TListBox相比,TMemo可以更加方便的实现文本的粘贴复制,TListBox更方便进行文本的操作。在开发一款跨平台的软件时,我选用的是FMX平台,由于需要呈现的数据较多,选用TMemo控件。

在增加日志函数中调用了TMemo控件Add函数,但是经测试Add函数无法触发控件OnChange事件。

mmoLog->Index = mmoLog->Lines->Count-1;

如果在OnChange事件添加如下代码,Index增加到mmoLog一页中所能容纳的行数后就不再增加。

因此只能调用控件自带函数GoToTextEnd()。另外注意不要开启控件WordWrap自动换行属性 。

void __fastcall TfmMainShow::mmoLogChange(TObject *Sender)
{
    mmoLog->GoToTextEnd();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值