DrawDynamicFilterRangeTrackBar
(
DrawingObjects oDrawingObjects,
IDynamicFilterRangeTrackBar oDynamicFilterRangeTrackBar,
Pen oAvailableRangeLinePen,
Pen oSelectedRangeLinePen,
Rectangle oColumnRectangle,
Int32 iTrackBarLeft,
Int32 iTrackBarRight,
ref Int32 iTop
)
{
Debug.Assert(oDrawingObjects != null);
Debug.Assert(oDynamicFilterRangeTrackBar != null);
Debug.Assert(oAvailableRangeLinePen != null);
Debug.Assert(oSelectedRangeLinePen != null);
iTop += oDrawingObjects.GetFontHeightMultiple(0.2F);
// Draw the text for the available range.
Int32 iAvailableRangeTextLeft = iTrackBarLeft;
Int32 iAvailableRangeTextRight = iTrackBarRight;
Int32 iAvailableRangeTextTop = iTop;
DrawAvailableRangeText(oDrawingObjects, oDynamicFilterRangeTrackBar,
ref iAvailableRangeTextLeft, ref iAvailableRangeTextRight,
ref iTop);
// Draw the line representing the available range.
Int32 iLineMargin = oDrawingObjects.GetFontHeightMultiple(0.1F);
Int32 iAvailableRangeLineLeft = iTrackBarLeft + iLineMargin;
Int32 iAvailableRangeLineRight = iTrackBarRight - iLineMargin;
oDrawingObjects.Graphics.DrawLine(oAvailableRangeLinePen,
iAvailableRangeLineLeft, iTop, iAvailableRangeLineRight, iTop);
// Draw the line representing the selected range.
Int32 iSelectedRangeLineLeft, iSelectedRangeLineRight;
DrawSelectedRangeLine(oDrawingObjects, oDynamicFilterRangeTrackBar,
oSelectedRangeLinePen, iAvailableRangeLineLeft,
iAvailableRangeLineRight, out iSelectedRangeLineLeft,
out iSelectedRangeLineRight, ref iTop);
// Draw the text for the selected range.
DrawSelectedRangeText(oDrawingObjects, oDynamicFilterRangeTrackBar,
iAvailableRangeTextLeft, iAvailableRangeTextRight,
iSelectedRangeLineLeft, iSelectedRangeLineRight,
iAvailableRangeTextTop);
DrawExcelColumnName(oDrawingObjects,
oDynamicFilterRangeTrackBar.ColumnName, iTrackBarLeft,
iTrackBarRight, ref iTop);
// Draw a line separating this track bar from the next.
DrawHorizontalSeparator(oDrawingObjects, oColumnRectangle, ref iTop);
}