delphi – 可以在滚动条上绘画吗?

前端之家收集整理的这篇文章主要介绍了delphi – 可以在滚动条上绘画吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以在TMemo,TListBox等标准控件的滚动条上绘画.?

我需要的是在滚动条上绘制一些基本形状,我试图避免从stratch实现整个滚动的东西.有什么指针吗? TIA!

解决方法

确实有可能,您可能需要查看WM_NCPAINT消息,这是WM_PAINT消息的非客户区对应版本.这不是一件容易的事,但是因为你不打算自己完成整个滚动条绘图,所以它可能更直接.

更多你可能会发现this article [1]The Code Project开始有趣,代码在C中并没有完全格式化,但它应该给出一些关于如何实现滚动条的所有权绘制的想法.

前面提到的TCP项目的屏幕截图.

除了你可能会发现this project [2]有趣的第一个项目,它也是所有者绘制滚动条,我知道你只想在滚动条上绘制但我的赌注是这也会对你有所帮助,它也包括代码.

Screenshot from Cool Scrollbar project http://www.catch22.net/img/coolscroll02.gif
Cool Scrollbar项目的屏幕截图.

检查VCL源代码以检索滚动条按钮位置等信息可能会有所帮助.代码可以在forms.pas文件中找到,至少从我的简短搜索看起来就是这样.希望任何这些都可以提供任何帮助.祝好运.

[1] http://www.codeproject.com/KB/dialog/skinscrollbar.aspx
[2] http://www.catch22.net/tuts/coolscroll

猜你在找的Delphi相关文章