#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() }