Scroll bar changes do not match in the Gantt Chart
Details
Date:9/10/2008 8:52:39 AM
Product:ActiveGanttVC Gantt Chart / Scheduler Component
Framework:Visual Studio 6.0
Version:2.6.0.4
User's Development Environment:Microsoft Visual C++ 6.0
Subject:Scroll bar changes don't match SmallChange or LargeChange settings
Question

Scroll bar settings are defined by the following code:


m_gantt.GetCurrentViewObject().GetTimeLine().GetScrollBar().SetStartDate(NewDate(9,8,2008));
m_gantt.GetCurrentViewObject().GetTimeLine().GetScrollBar().SetInterval("1h");
m_gantt.GetCurrentViewObject().GetTimeLine().GetScrollBar().SetSmallChange(3);
m_gantt.GetCurrentViewObject().GetTimeLine().GetScrollBar().SetLargeChange(24);
m_gantt.GetCurrentViewObject().GetTimeLine().GetScrollBar().SetMax(10 * 24);
m_gantt.GetCurrentViewObject().GetTimeLine().GetScrollBar().SetEnabled(TRUE);

My assumption was that this means that when I click one of the arrows at the ends of the scroll bar, getting a small change, that the display would move three hours. Also, if I click in the scroll bar but away from the thumb, requesting a large change, that the display would move by 24 hours. Instead, the small change is 5 hours and the large change is 20 hours.

Please note that this could be correct behavior but not described in the documentation. The ActiveGanttVC control is a wonderful product, but its documentation is abysmal. There is no index, the contents are not alphabetized or presented in any other logical order, important constants such as the possible settings for the date-time interval for the scroll bar are not listed, and the descriptions of the functions are sketchy at best and often completely inadequate.

Answer

Answer:

It is not the behaviour we are seing here with this code:


    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.StartDate = DateSerial(2008, 10, 22) + TimeSerial(0, 0, 0)
    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.Interval = "1h"
    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.SmallChange = 3
    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.LargeChange = 24
    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.Max = 96
    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.Value = 0
    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.Enabled = True
    ActiveGanttVCCtl1.CurrentViewObject.TimeLine.ScrollBar.Visible = True

A small change moves by 3 hours and a large change by 24. Be sure to have version 2.7.0.0 at least.

 

All trademarks are property of their respective holders, and are only used to directly describe the products and services being provided. Their use in no way indicates any relationship or endorsement between The Source Code Store LLC and the holders of said trademarks.