我已经创建了一个组件,它在画布上有一个画图覆盖,我想设置一个最小宽度和高度的限制。当宽度或高度小于限制时,滚动条应该出现在边上,就像滚动框一样,也可以滚动。
我之所以选择TCustomControl,是因为我会作画,而且在双缓冲时闪烁较少。
有什么想法或更好的解决方案吗?
发布于 2012-03-09 10:20:46
TScrollBox和TCustomControl都是TWinControl的后代。TScrollBox和TScrollingWinControl添加滚动条,而TCustomControl添加画布。要获得您想要的内容,您可以向TScrollingWinControl添加画布,也可以向TCustomControl添加滚动条。
比较这两个类(分别在Forms.pas和Controls.pas中)的定义,可以清楚地看出哪个特性更容易复制到您的后代中。TCustomControl添加了三个简单的方法,用大约40行代码实现。编写一个TScrollingWinControl子代,并将TCustomControl中的方法和属性复制到其中。
https://stackoverflow.com/questions/9627831
复制相似问题