我创建了一个在画布上具有油漆覆盖的组件,我想对最小宽度和高度设置一个限制。宽度或高度小于限制时,滚动条应出现在侧面,就像滚动框一样,也可以滚动。
我选择TCustomControl,因为双缓冲时我可以绘制并减少闪烁。
任何想法或更好的解决方案?
最佳答案
TScrollBox
和TCustomControl
都来自TWinControl
。 TScrollBox
和TScrollingWinControl
添加滚动条,而TCustomControl
添加画布。要获得所需的内容,可以将画布添加到TScrollingWinControl
,也可以将滚动条添加到TCustomControl
。
比较这两个类的定义(分别在Forms.pas和Controls.pas中),应该清楚哪个人的特征在后代中更容易复制。 TCustomControl
添加了三种简单的方法,用大约40行代码实现。编写一个TScrollingWinControl
后代,并将方法和属性从TCustomControl
复制到其中。
关于delphi - 如何从TCustomControl中制作一个TScrollbox?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9627831/