是否可以在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