property Chart.FirstVisibleDate as Variant
Retrieves or sets a value that indicates the first visible date.

 TypeDescription 
   Variant A Date expression that indicates the first visible date in the chart.  
The FirstVisibleDate property indicates the first visible date in the chart. The control fires the DateChange event when the first visible date is changed. The DateFromPoint(1,-1) returns the last visible date. Use the FormatDate property to format a date to a specified format. Use the NextDate property to retrieve the next or previous date giving a specified time unit. Use the ScrollTo method to ensure that a specified date fits the chart's client area. Use the AddBar property to add new bars to an item. The DateFromPoint property gets the date from the cursor. Use the FirstWeekDay property to specify the first day in the week. Use the Zoom method to scale the chart to a specified interval of dates. The StartPrintDate property indicates the starting date to print the chart. 

The following VB sample displays the first visible date when the user changes the first visible date:

Private Sub G2antt1_DateChange()
    With G2antt1.Chart
        Debug.Print FormatDateTime(.FirstVisibleDate)
    End With
End Sub

or you can use the FormatDate method like follows:

Private Sub G2antt1_DateChange()
    With G2antt1.Chart
        Debug.Print .FormatDate(.FirstVisibleDate, "<%yyyy%>-<%m%>-<%d%>")
    End With
End Sub

The following VB sample determines the last visible date:

Private Function LastVisibleDate(ByVal g As EXG2ANTTLibCtl.G2antt) As Date
    With G2antt1
        With .Chart
            Dim d As Date
            d = .FirstVisibleDate
            Do While .IsDateVisible(d)
                d = .NextDate(d, exDay, 1)
            Loop
        End With
    End With
    LastVisibleDate = d - 1
End Function

The following C++ sample displays the first visible date when the user changes the first visible date:

#include "G2antt.h"
#include "Chart.h"

static DATE V2D( VARIANT* pvtDate )
{
	COleVariant vtDate;
	vtDate.ChangeType( VT_DATE, pvtDate );
	return V_DATE( &vtDate );
}

void OnDateChangeG2antt1() 
{
	if ( m_g2antt.GetControlUnknown() )
	{
		CChart chart = m_g2antt.GetChart();
		TCHAR szDate[1024] = _T("");
		SYSTEMTIME stDate = {0};
		VariantTimeToSystemTime( V2D( &chart.GetFirstVisibleDate() ), &stDate );
		GetDateFormat( LOCALE_SYSTEM_DEFAULT, LOCALE_USE_CP_ACP, &stDate, NULL, szDate, 1024 );
		OutputDebugString( szDate );
	}
}

The following VB.NET sample displays the first visible date when the user changes the first visible date:

Private Sub AxG2antt1_DateChange(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxG2antt1.DateChange
    Debug.Write(AxG2antt1.Chart.FirstVisibleDate.ToString())
End Sub

The following C# sample displays the first visible date when the user changes the first visible date:

private void axG2antt1_DateChange(object sender, EventArgs e)
{
	System.Diagnostics.Debug.Write(axG2antt1.Chart.FirstVisibleDate.ToString());
}

The following VFP sample displays the first visible date when the user changes the first visible date:

*** ActiveX Control Event ***

with thisform.G2antt1.Chart
	wait window nowait .FormatDate(.FirstVisibleDate, "<%yyyy%>-<%m%>-<%d%>")
endwith


Send comments on this topic.
1999-2017 Exontrol.COM, Software. All rights reserved.