- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个在 Canvas 上具有油漆覆盖的组件,我想设置最小宽度和高度的限制。当宽度或高度小于限制时,滚动条应该出现在侧面,就像滚动框一样,也可以滚动。
我选择 TCustomControl 是因为我在双缓冲时绘画和更少的闪烁。
任何想法或更好的解决方案?
最佳答案
TScrollBox
和 TCustomControl
两者都来自 TWinControl
. TScrollBox
和 TScrollingWinControl
添加滚动条,而 TCustomControl
添加 Canvas 。为了得到你想要的,你可以添加一个 Canvas 到 TScrollingWinControl
,或者您可以将滚动条添加到 TCustomControl
.
比较两个类的定义(分别在 Forms.pas 和 Controls.pas 中),应该清楚哪个功能更容易在您的后代中复制。 TCustomControl
添加了三个简单的方法,用大约 40 行代码实现。写个 TScrollingWinControl
后代并从 TCustomControl
复制方法和属性进去。
关于delphi - 如何从 TCustomControl 制作一个 TScrollbox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627831/
我正在尝试创建一个具有平坦边框的 TScrollBox,而不是丑陋的“Ctl3D”边框。 这是我尝试过的,但边框不可见: type TScrollBox = class(Forms.TScroll
我在 TScrollBox 上放置了各种框架。滚动时,它们正在正确滚动。现在我想添加一个保持在固定位置的位图。我尝试了一个与 TScrollBox 具有相同父级(TPanel)的 TImage。即使使
我遇到了一个小问题。我动态生成一些控件并将它们放置在 TScrollbox 组件上。但我注意到,如果滚动框可见,用户可以清楚地看到正在创建和放置的每个控件。所以看起来很多工作正在完成,而且进展缓慢。
我想生成 TScrollBox 全部内容的图像。就像截图一样。即使所有内容不在可见屏幕区域内。 最佳答案 每个 TControl 后代都有一个 Perform 方法,您可以使用它来使其执行,就好像它正
我创建了一个派生自 TScrollbox 的自定义滚动框,它的工作原理相同,只是当在客户区域中拖动滚动条之外时它会滚动。 我现在的问题是,当鼠标位于 CustomScrollbox 内的按钮或面板上时
我有一个带有 TScrollBox (Align := alClient) 的简单的相当大的表单,并在 TScrollBox 上放置了一些控件。如果用户更改表单大小,TScrollBox 将显示和隐藏
这似乎是一个非常简单的问题,但我无法让滚动框显示滚动条,这让我发疯。 情况是这样的。我需要在表单的一部分中显示可变数量的帧。显示这些框架的区域可以通过 TSplitter 或通过调整表单大小来调整大小
我创建了一个 TScrollBox。我已经在按钮单击时动态添加了标签和编辑框。为了设置组件的位置,我使用了组件的高度、宽度、左侧、顶部属性。但是当添加 5 个组件后滚动条出现在屏幕上时,下一个组件的位
我创建了一个在 Canvas 上具有油漆覆盖的组件,我想设置最小宽度和高度的限制。当宽度或高度小于限制时,滚动条应该出现在侧面,就像滚动框一样,也可以滚动。 我选择 TCustomControl 是因
我正在尝试做简单的事情:在 TScrollBox 后代上添加 Canvas 属性。我已阅读this article 但我的 ScrollBox 后代根本无法在 Canvas 上绘制。有人可以告诉我,出
我正在制作一个从 TScrollBox 派生的自定义组件,它显示存储在字符串属性中的图像文件的缩略图。它工作得很好,直到滚动框在运行时调整大小。我尝试重写 Risize 方法,但是当我在运行时向组件添
我在线发布了此内容:Show form from DLL in TScrollBox 我想做的是在 Delphi TScrollBox 中调用并显示一个表单。不像 Show 或 ShowModal 示
我需要找到 TScrollBox 的整个大小(也称为“逻辑区域”) - 与通过 Width 和 Height 属性(或 ClientWidth ClientHeight)获得的可见区域相反。 我想在
我有一个 TScrollBox,它的 RichEdit 比滚动框大,因此两侧滚动条都出现在滚动框中。然后我有一个调用 RichEdit.SetFocus 的函数 DoTask。 当我向下滚动到想要查看
我正在使用父 FMX.Layouts.TScrollBox 来缩放和平移子 TLayout。一旦 TLayout 大于 TScrollBox,就可以进行平移。 我想要 TScrollBox 的(左上角
我正在使用 TImage 控件制作一个基于 TScrollingWinControl(以及从 TScrollBox 复制的代码)的简单控件。我在某种程度上可以进行缩放,但它不一定会缩放到焦点 - 滚动
我是一名优秀的程序员,十分优秀!