问题标签 [tmemo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
user-interface - 在 Lazarus 中为 GUI 组件设置动画时如何避免闪烁
我TMemo
在我的 GUI 应用程序中左右移动一个对象。问题是,TMemo
一旦运动开始,我的字母就会闪烁。
我已经查过了,显然,设置DoubleBuffering
我的主窗体的属性应该对我有帮助,但它没有。所以我尝试在所有正在移动的对象上将该属性设置为 true,但仍然存在闪烁。
Lazarus中有没有什么方法可以实现GUI组件的无闪烁动画?我是拉撒路的新手,所以我现在有点盲目地搜索解决方案。我真的很感激一些帮助。
为了提供更多的上下文,这里是我如何为我的动画制作动画TMemo
:我有TTimer
一个间隔值为 10 的 a,它的OnTimer
事件TMemo
连续移动我的左右。为了使运动稍微平滑一些,我添加了一个简单的余弦插值函数。
最后是代码:
余弦插值:
delphi - 如何在 TMemo 中获取文本位置(以像素为单位)?
我想在 TMemo 中获取文本(aWord)的像素位置/位置。我的代码是这样的:
最初它工作正常,但是当我向下滚动备忘录时,我在最后一行收到范围检查错误。
向下滚动时如何获取位置?
官方文档说:
如果字符已滚动到编辑控件的客户区域之外,则返回的坐标可能为负数。坐标被截断为整数值。
我不知道如何解释这个。
delphi-10-seattle - 在 TMemo 后代中获取屏幕线与 TStrings 线的对应关系
TRichEdit
设置样式时会在弹出菜单中造成过多的访问冲突和问题,因此我正在尝试制作一个简单的彩色TMemo
后代,其中每一行都Lines
可以用自己的颜色作为一个整体进行绘制。
我无法从 Windows 影响编辑控件,但可以在其上绘制字符串。
起初我试图遍历Lines
属性,但它导致了滚动问题。所以我决定直接使用 Win API 从编辑控件中查询字符串。
现在除了颜色之外,一切都画得很好:从 Windows 编辑控件请求的行是屏幕行,而不是Lines
属性 whenWordWrap := True;
和ScrollBars := ssVertical;
.
如何找出屏幕 ->Lines
行号对应关系?
更新
我一直以为TMemo
在它的收藏中保留了原始线条Lines
,但实际上它Lines
只是在添加一个项目后就破坏了它。当自动换行打开时,添加一个非常长的行会将其转换为多个屏幕行。
但!令人惊讶的是,Windowsedit
控件内部在控件调整大小时将原始行保持为一个整体。
firemonkey - 更改 Firemonkey TMemo 组件中选定子字符串后面的背景颜色
我希望通过在子字符串后面绘制黄色背景,以编程方式将焦点设置在(Delphi 10.3.1)Firemonkey TMemo 组件中的特定子字符串上。下面的代码在正确的位置绘制了一个黄色矩形,但该矩形似乎叠加在文本上,从而隐藏了它。是否有一些 TMemo 属性可以用来避免这种情况?如果没有,推荐的修复方法是什么?
提前感谢您的任何建议。
android - Firemonkey TMemo OnChangeTracking Android 上的奇怪行为
有没有人有同样的问题,然后在运行时创建 TMemo 触发 OnChangeTracking 只有然后 TMemo 是空的(没有行)并且只针对第一个输入的符号。然后所有的文字都被删除了吗?
如果 TMemo 是在设计时创建的,它就可以正常工作。此行为仅在 Android 上。iOs 和 Winows 都可以。是德尔福的错误,还是有什么我可以修复的?我现在用的是Delphi 10.3 Update 1,不知道10.3.3有没有问题
delphi - 如何禁用 TMemo 的弹出菜单?
我在我的桌面应用程序中使用 Firemonkey TMemo 组件,我希望当用户在 Memo 上单击鼠标右键或长按时,不会弹出默认菜单。
c++ - 将 Vcl::Controls::TCaption aka (System::UnicodeString) 转换为 const char *
我目前正在使用 C++Builder 创建一个将文本复制到用户剪贴板的应用程序。我已经放置了一个TMemo
控件,我想将它包含在一个const char *
变量中,如下面的代码所示:
当我编译程序时,它会抛出错误
从 'Vcl::Controls::TCaption'(又名 'System::UnicodeString')到 'const char *' 没有可行的转换
这是将文本复制到剪贴板的代码:
delphi - 如何找出 tmemo 组件中的字符数?
我想要做的是制作一个按钮,用于获取备忘录中的字符数量并将其输出到标签中
如果这似乎是一个愚蠢的问题,我深表歉意,但我仍在学习 Delphi。