property Gantt.HasButtonsCustom(Expanded as Boolean) as Long
Specifies the index of icons for +/- signs when the HasButtons property is exCustom.

TypeDescription
Expanded as Boolean A boolean expression that indicates the sign being changed.
Long A long expression that indicates the icon being used for +/- signs on the parent items. The last 7 bits in the high significant byte of the long expression indicates the identifier of the skin being used to paint the object. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the part.
Use the HasButtonsCustom property to assign custom icons to the +/- signs on the parent items. The HasButtonsCustom property has effect only if the HasButtons property is exCustom. Use the Images, ReplaceIcon methods to add new icons to the control, at runtime.

The following VB sample specifies different ( as in the screen shot ) +/- signs for the control:

 

With Gantt1
    .BeginUpdate
        .Images "gBJJgBAICAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx2PyGRyWTymVy2XzGZzWbzmdz2f0Gh0WjwEWH0r08ekEikgAkso184iGkicPjcU2+zjW4jTnZ++jbv4Tvjbu4fF48adAv5fI4XO4ka4fRjO+4G73UZ3na7IAgI="
        .LinesAtRoot = exLinesAtRoot
        .HeaderVisible = False
        .HasButtons = exCustom
        .HasButtonsCustom(False) = 1
        .HasButtonsCustom(True) = 2
        .Columns.Add "Column 1"
        With .Items
            Dim h As HITEM
            h = .AddItem("Item 1")
            .InsertItem h, , "SubItem 1"
            .InsertItem h, , "SubItem 2"
        End With
    .EndUpdate
End With

The following C++ sample specifies different ( as in the screen shot ) +/- signs for the control:

#include "Items.h"
#include "Columns.h"
#include "Column.h"
m_gantt.BeginUpdate();
m_gantt.Images( COleVariant( "gBJJgBAICAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx2PyGRyWTymVy2XzGZzWbzmdz2f0Gh0WjwEWH0r08ekEikgAkso184iGkicPjcU2+zjW4jTnZ++jbv4Tvjbu4fF48adAv5fI4XO4ka4fRjO+4G73UZ3na7IAgI=" ) );
m_gantt.SetLinesAtRoot( -1 );
m_gantt.SetHeaderVisible( FALSE );
m_gantt.SetHasButtons( 4 /*exCustom*/ );
m_gantt.SetHasButtonsCustom( FALSE, 1 );
m_gantt.SetHasButtonsCustom( TRUE, 2 );
m_gantt.GetColumns().Add( "Column 1" );
COleVariant vtMissing; V_VT( &vtMissing ) = VT_ERROR;
CItems items = m_gantt.GetItems();
long h = items.AddItem( COleVariant( "Item 1" ) );
items.InsertItem( h, vtMissing, COleVariant( "SubItem 1" ) );
items.InsertItem( h, vtMissing, COleVariant( "SubItem 2" ) );
m_gantt.EndUpdate();

The following VB.NET sample specifies different ( as in the screen shot ) +/- signs for the control:

With AxGantt1
    .BeginUpdate()
    .Images("gBJJgBAICAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx2PyGRyWTymVy2XzGZzWbzmdz2f0Gh0WjwEWH0r08ekEikgAkso184iGkicPjcU2+zjW4jTnZ++jbv4Tvjbu4fF48adAv5fI4XO4ka4fRjO+4G73UZ3na7IAgI=")
    .LinesAtRoot = EXGANTTLib.LinesAtRootEnum.exLinesAtRoot
    .HeaderVisible = False
    .HasButtons = EXGANTTLib.ExpandButtonEnum.exCustom
    .set_HasButtonsCustom(False, 1)
    .set_HasButtonsCustom(True, 2)
    .Columns.Add("Column 1")
    With .Items
        Dim h As Long
        h = .AddItem("Item 1")
        .InsertItem(h, , "SubItem 1")
        .InsertItem(h, , "SubItem 2")
    End With
    .EndUpdate()
End With

The following C# sample specifies different ( as in the screen shot ) +/- signs for the control:

axGantt1.BeginUpdate();
axGantt1.Images("gBJJgBAICAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx2PyGRyWTymVy2XzGZzWbzmdz2f0Gh0WjwEWH0r08ekEikgAkso184iGkicPjcU2+zjW4jTnZ++jbv4Tvjbu4fF48adAv5fI4XO4ka4fRjO+4G73UZ3na7IAgI=");
axGantt1.LinesAtRoot = EXGANTTLib.LinesAtRootEnum.exLinesAtRoot;
axGantt1.HeaderVisible = false;
axGantt1.HasButtons = EXGANTTLib.ExpandButtonEnum.exCustom;
axGantt1.set_HasButtonsCustom(false, 1);
axGantt1.set_HasButtonsCustom(true, 2);
axGantt1.Columns.Add("Column 1");
int h = axGantt1.Items.AddItem("Item 1");
axGantt1.Items.InsertItem(h, "", "SubItem 1");
axGantt1.Items.InsertItem(h, "", "SubItem 2");
axGantt1.EndUpdate();

The following VFP sample specifies different ( as in the screen shot ) +/- signs for the control:

with thisform.Gantt1
	.BeginUpdate()
		local s
		s = "gBJJgBAICAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls"
		s = s + "1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx2PyGRyWTymVy2XzGZzWbzmdz2f0Gh0WjwEWH0r08ekEikgAkso184iGkicPjcU2+zjW4jTnZ++jbv4Tvjbu4fF48adAv5fI4XO4ka4fRjO+4G73UZ3na7IAgI="
        .Images(s)
        .LinesAtRoot = -1
        .HeaderVisible = .f.
        .HasButtons = 4 &&exCustom
        local sT, sCR
        sCR = chr(13) + chr(10)
        sT = "HasButtonsCustom(True) = 2"+ sCR
        sT = sT + "HasButtonsCustom(False) = 1"+ sCR
        .Template = sT
        .Columns.Add("Column 1")
        With .Items
        	local h
            h = .AddItem("Item 1")
            .InsertItem(h, , "SubItem 1")
            .InsertItem(h, , "SubItem 2")
        EndWith
	.EndUpdate()
endwith