Hide

SftTree/OCX 7.5 - ActiveX Tree Control

Display
Print

Image Property, SftTreeCell Object

Defines the graphic displayed in this cell.

Syntax

Get

VB.NETrefImageObj = object.Image As SftPictureObject
VBSet refImageObj = object.Image As SftPictureObject
C#.NETSftPictureObject refImageObj = object.Image;
VC++ISftPictureObject* refImageObj = object->Image;
ISftPictureObject* refImageObj = object->GetImage();
CHRESULT object->get_Image(ISftPictureObject** refImageObj);

Put

VB.NETobject.Image = refImageObj As SftPictureObject
VBobject.Image = refImageObj As SftPictureObject
C#.NETSftPictureObject object.Image = refImageObj;
VC++ISftPictureObject* object->Image = refImageObj;
void object->PutImage(ISftPictureObject* refImageObj);
CHRESULT object->put_Image(ISftPictureObject* refImageObj);

object

A SftTreeCell object.

refImageObj

Defines the graphic displayed in this cell.

Comments

The Image property defines the graphic displayed in this cell.

When using fixed height items (see Items.Style), all graphics used in a tree control as cell graphic at the same time must be the same size (height and width). The dimensions of the graphics are used to calculate the minimum dimension for all items, so graphics used as cell graphics are never clipped vertically. To change the cell graphic size, all cell graphics must be removed first using the Items.ClearCellImages method.

When using variable height items (see Items.Style), the graphics used can be of varying size. The item height is adjusted automatically, so graphics are never clipped vertically.

If the image object refImageObj defines a bitmap, the top, left pixel of the bitmap must contain the bitmap's background color. This color will be replaced throughout the bitmap with the actual background (see Bitmap Transparency).

The Items.ClearCellImages method can be used to remove all cell graphics. The Image property can be set to the value Nothing (NULL), which removes the graphic from the cell.

The position of the cell graphics is determined by the Cell.ImageHAlign and Cell.ImageVAlign properties.

Examples

VB.NET

        Dim ItemIndex As Integer
        Dim Img As SftPictureObject

        ItemIndex = AxSftTree1.Items.Current
        If ItemIndex < 0 Then Exit Sub

        ' don't use images that are too large in the other areas
        Img = AxSftTree1.get_Cell(ItemIndex, 0).Image
        If Img.ActualHeight <= 20 And Img.ActualWidth <= 20 Then
            AxSftTree1.RowColumnHeader.Image = Img
            AxSftTree1.get_Header(1).Image = Img
        Else
            AxSftTree1.RowColumnHeader.Image.Clear()
            AxSftTree1.get_Header(1).Image.Clear()
        End If
    End Sub

VB6

Private Sub CopyImageFromCurrentItem()
    Dim ItemIndex As Integer
    Dim Img As SftPictureObject

    ItemIndex = SftTree1.Items.Current
    If ItemIndex < 0 Then Exit Sub

    ' don't use images that are too large in the other areas
    Set Img = SftTree1.Cell(ItemIndex, 0).Image
    If Img.ActualHeight <= 20 And Img.ActualWidth <= 20 Then
        SftTree1.RowColumnHeader.Image = Img
        SftTree1.Header(1).Image = Img
    Else
        SftTree1.RowColumnHeader.Image.Clear
        SftTree1.Header(1).Image.Clear
    End If

C#

            int ItemIndex;
            SftPictureObject Img;

            ItemIndex = axSftTree1.Items.Current;
            if (ItemIndex < 0)
                return;

            // don't use images that are too large in the other areas
            Img = axSftTree1.get_Cell(ItemIndex, 0).Image;
            if (Img.ActualHeight <= 20 && Img.ActualWidth <= 20) {
                axSftTree1.RowColumnHeader.Image = Img;
                axSftTree1.get_Header(1).Image = Img;
            } else {
                axSftTree1.RowColumnHeader.Image.Clear();
                axSftTree1.get_Header(1).Image.Clear();
            }

C++

        m_vTree->Item[ItemIndex]->LabelImage = Img;
        m_vTree->Item[ItemIndex]->RowHeader->Image = Img;
    }
}

void CPicturesDlg::UpdateBitmap(long ItemIndex, const CBitmap& bmp, SftTreeHAlignConstants Align)
{
    ISftTreeCellPtr C = m_vTree->Cell[ItemIndex][0];
    C->Image->PutBitmapHandle((OLE_HANDLE)(HBITMAP) bmp);
    C->ImageHAlign = Align;
    PropagateImage(ItemIndex, C->Image);
}

void CPicturesDlg::UpdateImage(long ItemIndex, int resourceID, SftTreeHAlignConstants Align)
{
    ISftTreeCellPtr C = m_vTree->Cell[ItemIndex][0];

See Also SftTreeCell Object | Object Hierarchy


Last Updated 08/13/2020 - (email)
© 2024 Softel vdm, Inc.