property Items.CellWidth([Item as Variant], [ColIndex as Variant]) as Long
Retrieves or sets a value that indicates the width of the inner cell.

 TypeDescription 
   Item as Variant A long expression that indicates the handle of the item where the cell is, or 0. If the Item parameter is 0, the ColIndex parameter must indicate the handle of the cell.  
   ColIndex as Variant A long expression that indicates the index of the column where a cell is divided, or a long expression that indicates the handle of the cell being divided, if the Item parameter is missing or it is zero.  
   Long A long expression that indicates the width of the cell.   
The CellWidth property specifies the cell's width. The CellWidth property has effect only if the cell contains inner cells. The SplitCell method splits a cell in two cells ( the newly created cell is called inner cell ). Use the InnerCell property to get the inner cell. Use the CellParent property to get the parent of the inner cell. Use the CellItem property to get the item that's the owner of the cell. Use the BeginUpdate and EndUpdate methods to refresh the cell's width when changing it on the fly.  

The CellWidth property specifies the width of the cell, where the cell is divided in two or multiple (inner) cells like follows:

By default, the CellWidth property is -1, and so when the user splits a cell the inner cell takes the right half of the area occupied by the master cell.

The following VB sample splits the first visible cell in three cells:

With G2antt1
    .BeginUpdate
    .DrawGridLines = exAllLines
    With .Items
        Dim h As HITEM, f As HCELL
        h = .FirstVisibleItem
        f = .ItemCell(h, 0)
        f = .SplitCell(, f)
        .CellValue(, f) = "Split 1"
        f = .SplitCell(, f)
        .CellValue(, f) = "Split 2"
    End With
    .EndUpdate
End With

The following VB sample specifies that the inner cell should have 32 pixels:

With G2antt1
    .BeginUpdate
    .DrawGridLines = exAllLines
    With .Items
        Dim h As HITEM, f As HCELL
        h = .FirstVisibleItem
        f = .ItemCell(h, 0)
        f = .SplitCell(, f)
        .CellValue(, f) = "Split"
        .CellWidth(, f) = 32
    End With
    .EndUpdate
End With

The following VB sample adds an inner cell to the focused cell with 48 pixels width:

G2antt1.BeginUpdate
With G2antt1.Items
    Dim h As Long
    h = .SplitCell(.FocusItem, 0)
    .CellBackColor(, h) = vbBlack
    .CellForeColor(, h) = vbWhite
    .CellHAlignment(, h) = CenterAlignment
    .CellValue(, h) = "inner"
    .CellWidth(, h) = 48
End With
G2antt1.EndUpdate

The following C++ sample adds an inner cell to the focused cell with 48 pixels width:

#include "Items.h"
m_g2antt.BeginUpdate();
CItems items = m_g2antt.GetItems();
COleVariant vtItem( items.GetFocusItem() ), vtColumn( long(0) ), vtMissing; V_VT( &vtMissing ) = VT_ERROR;
COleVariant vtInner = items.GetSplitCell( vtItem, vtColumn );
items.SetCellWidth( vtMissing, vtInner, 48 );
items.SetCellBackColor( vtMissing, vtInner, 0 );
items.SetCellForeColor( vtMissing, vtInner, RGB(255,255,255) );
items.SetCellValue( vtMissing, vtInner, COleVariant("inner") );
items.SetCellHAlignment( vtMissing, vtInner, 1 );
m_g2antt.EndUpdate();

The following VB.NET sample adds an inner cell to the focused cell with 48 pixels width:

With AxG2antt1
    .BeginUpdate()
    With .Items
        Dim iInner As Integer
        iInner = .SplitCell(.FocusItem, 0)
        .CellValue(, iInner) = "inner"
        .CellHAlignment(, iInner) = EXG2ANTTLib.AlignmentEnum.CenterAlignment
        .CellWidth(, iInner) = 48
        .CellBackColor(, iInner) = 0
        .CellForeColor(, iInner) = ToUInt32(Color.White)
    End With
    .EndUpdate()
End With

The following C# sample adds an inner cell to the focused cell with 48 pixels width:

EXG2ANTTLib.Items items = axG2antt1.Items;
axG2antt1.BeginUpdate();
object iInner = items.get_SplitCell(axG2antt1.Items.FocusItem, 0);
items.set_CellValue(null, iInner, "inner");
items.set_CellHAlignment(null, iInner, EXG2ANTTLib.AlignmentEnum.CenterAlignment);
items.set_CellBackColor(null, iInner, ToUInt32(Color.Black));
items.set_CellForeColor(null, iInner, ToUInt32(Color.White));
items.set_CellWidth(null, iInner, 48);
axG2antt1.EndUpdate();

 


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