public override void LayoutCore() { int ScrollbarSize = Scrollbar.InitialSize; Scrollable.Bounds.Location = this.Bounds.Location; int ScrollbarsMargin = (this.ScrollbarsVisible ? ScrollbarSize : 0); Scrollable.Bounds.Size.X = this.Bounds.Size.X - ScrollbarsMargin; Scrollable.Bounds.Size.Y = this.Bounds.Size.Y - ScrollbarsMargin; Scrollable.LayoutCore(); VScroll.Bounds.Location.Set(Scrollable.Bounds.Right, Scrollable.Bounds.Location.Y); VScroll.Bounds.Size.Set(ScrollbarSize, Scrollable.Bounds.Size.Y); VScroll.LayoutCore(); HScroll.Bounds.Location.Set(Scrollable.Bounds.Location.X, Scrollable.Bounds.Bottom); HScroll.Bounds.Size.Set(Scrollable.Bounds.Size.X, ScrollbarSize); HScroll.LayoutCore(); BottomRightCorner.Bounds.Location.Set(VScroll.Bounds.Location.X, HScroll.Bounds.Location.Y); BottomRightCorner.Bounds.Size.Set(VScroll.Bounds.Size.X, HScroll.Bounds.Size.Y); VScroll.SyncToView(); HScroll.SyncToView(); }
public void ScrollContentX(int NewPosition) { if (!HScroll.Thumb.Visible) { return; } Scrollable.ScrollToX(NewPosition); HScroll.SyncToView(); }
public void ScrollContentXY(int x, int y) { if (VScroll.Thumb.Visible) { Scrollable.ScrollToY(y); VScroll.SyncToView(); } if (HScroll.Thumb.Visible) { Scrollable.ScrollToX(x); HScroll.SyncToView(); } // RaiseNeedRedraw(this); }
protected void Scrollable_ContentSizeChanged(IShape ResizedShape, Point OldSize) { VScroll.SyncToView(); HScroll.SyncToView(); // RaiseNeedRedraw(this); }