我创建了一个在画布上有油漆覆盖的组件,我想设置最小宽度和高度的限制。当宽度或高度小于限制时,滚动条应显示在侧面,就像滚动条一样,也可以滚动。
我选择TCustomControl,因为我画画时双倍缓冲时闪烁更少。
任何想法或更好的解决方案?
答案 0 :(得分:3)
TScrollBox
和TCustomControl
都来自TWinControl
。 TScrollBox
和TScrollingWinControl
添加滚动条,而TCustomControl
添加画布。要获得所需内容,您可以向TScrollingWinControl
添加画布,也可以向TCustomControl
添加滚动条。
比较两个类的定义(分别在 Forms.pas 和 Controls.pas 中),应该清楚哪一个的功能更容易复制在你的后代。 TCustomControl
添加了三种简单的方法,在大约40行代码中实现。编写TScrollingWinControl
后代并将方法和属性从TCustomControl
复制到其中。