#define MINSIZE 20
OnSize(O,G,D,H)
{
if (H>D)
{
if ((H-O)<D)
{
O=H-D
SetViewOffset(-O)
}
由 B:G=D:H 得 B=GD/H
if (B<MINSIZE) B=MINSIZE
由 P:(G-B)=O:(H-D) 得 P=O(G-B)/(H-D)
SetScrollButtonTop(P)
SetScrollButtonHeight(B)
if(!IsScrollVisible())
{
ShowScroll()
}
}
else
{
SetViewOffset(-O)
HideScroll()
}
ReDraw()
}
OnScroll(G,D,H,P,B)
{
由 P:(G-B)=O:(H-D) 得 O=P(H-D)/(G-B)
SetViewOffset(-O)
ReDraw()
}
本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1657868,如需转载请自行联系原作者