SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftMask/OCX 7.0 - Masked Edit Control
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftPrintPreview/DLL 2.0 - Print Preview Control (discontinued)
SftTree/DLL 7.5 - Tree Control
SftBox/OCX 5.0 - Combo Box Control
SftButton/OCX 3.0 - Button Control
SftDirectory 3.5 - File/Folder Control (discontinued)
SftMask/OCX 7.0 - Masked Edit Control
SftOptions 1.0 - Registry/INI Control (discontinued)
SftPrintPreview/OCX 1.0 - Print Preview Control (discontinued)
SftTabs/OCX 6.5 - Tab Control (VB6 only)
SftTree/OCX 7.5 - Tree Control
SftTabs/NET 6.0 - Tab Control (discontinued)
SftTree/NET 2.0 - Tree Control
Sets the column's optimal width.
VB.NET | object.MakeOptimal(ByVal MaxScan As Integer) |
VB | object.MakeOptimal(ByVal MaxScan As Long) |
C#.NET | void object.MakeOptimal(int MaxScan); |
VC++ | HRESULT object->MakeOptimal(long MaxScan); |
C | HRESULT object->raw_MakeOptimal(long MaxScan); |
object
MaxScan
The maximum number of items analyzed to determine the optimal column width for the column described by object. If 0 is specified, all items will be considered.
The MakeOptimal method sets the column's optimal width.
This method resizes the column described by object to the optimal width so that the column header and each cell can be completely displayed without being truncated or clipped. The Column.CalcOptimalWidth method can be used to calculate a column's optimal width without resizing the column. The column width can be changed using the Column.Width property.
The Columns.MakeOptimal method can be used to resize all columns.
By changing control properties, the optimal column width may change. Adding items, setting new cell graphics and changing cell text are a few of the actions that can affect the optimal column width. The column width may have to be set again to allow items to be completely visible. The control does not automatically adjust column widths.
If items are not visible because their parent items are collapsed, these are always excluded from the optimal width calculation.
The combo box control does not automatically adjust column widths.
The last (or only) column may be an "open-ended" column. The Columns.OpenEnded property is set to True. An open-ended column will always use the space remaining between the previous column and the right edge of the control window.
Calculating the optimal column width can be a time consuming operation, particularly if many items have been added to the control. MakeOptimal scans all items to determine the best column width, but can be limited to a specific number of items using the MaxScan argument. This reduces the time spent to calculate the optimal width, but may still leave some items clipped.
AddBuiltinImage("Enabled Ascending Indicator", SftPictureImageConstants.sftImageSortAsc, 8, 8) AddBuiltinImage("Disabled Ascending Indicator", SftPictureImageConstants.sftImageSortAscDisabled, 8, 8) AddBuiltinImage("Enabled Descending Indicator", SftPictureImageConstants.sftImageSortDesc, 8, 8) AddBuiltinImage("Disabled Descending Indicator", SftPictureImageConstants.sftImageSortDescDisabled, 8, 8) AxSftBox1.RowHeaders.MakeOptimal(0) ' make the row headers optimal AxSftBox1.get_Column(0).MakeOptimal(0) ' make the first column optimal AxSftBox1.Items.RecalcHorizontalExtent(0) ' update horizontal scroll bar AxSftBox1.Items.Selection = 0 CopyImageFromCurrentItem() End Sub Private Sub ExpandCollapseItem(ByVal ItemIndex As Long, ByVal Shift As Short)
AddBuiltinImage "Enabled Ascending Indicator", sftImageSortAsc, 8, 8 AddBuiltinImage "Disabled Ascending Indicator", sftImageSortAscDisabled, 8, 8 AddBuiltinImage "Enabled Descending Indicator", sftImageSortDesc, 8, 8 AddBuiltinImage "Disabled Descending Indicator", sftImageSortDescDisabled, 8, 8 .RowHeaders.MakeOptimal 0 ' make the row headers optimal .Column(0).MakeOptimal 0 ' make the first column optimal .Items.RecalcHorizontalExtent 0 ' update horizontal scroll bar .Items.Selection = 0 CopyImageFromCurrentItem End With
AddBuiltinImage("Enabled Ascending Indicator", SftPictureImageConstants.sftImageSortAsc, 8, 8); AddBuiltinImage("Disabled Ascending Indicator", SftPictureImageConstants.sftImageSortAscDisabled, 8, 8); AddBuiltinImage("Enabled Descending Indicator", SftPictureImageConstants.sftImageSortDesc, 8, 8); AddBuiltinImage("Disabled Descending Indicator", SftPictureImageConstants.sftImageSortDescDisabled, 8, 8); axSftBox1.RowHeaders.MakeOptimal(0); // make the row headers optimal axSftBox1.get_Column(0).MakeOptimal(0); // make the first column optimal axSftBox1.Items.RecalcHorizontalExtent(0); // update horizontal scroll bar axSftBox1.Items.Selection = 0; CopyImageFromCurrentItem(); } private void ExpandCollapseItem(int ItemIndex, short Shift)
AddBuiltinImage(_T("Enabled Ascending Indicator"), sftImageSortAsc, 8, 8); AddBuiltinImage(_T("Disabled Ascending Indicator"), sftImageSortAscDisabled, 8, 8); AddBuiltinImage(_T("Enabled Descending Indicator"), sftImageSortDesc, 8, 8); AddBuiltinImage(_T("Disabled Descending Indicator"), sftImageSortDescDisabled, 8, 8); m_vBox->RowHeaders->MakeOptimal(0); // make the row headers optimal m_vBox->Column[0]->MakeOptimal(0); // make the first column optimal m_vBox->Items->RecalcHorizontalExtent(0); // update horizontal scroll bar m_vBox->Items->Selection = 0; CopyImageFromCurrentItem(); return TRUE; // return TRUE unless you set the focus to a control }
See Also SftBoxColumn Object | Object Hierarchy