INatAutoNodeImages

#### Search Results

Search

# INatAutoNodeImages

This document covers the following topics:

- Purpose

- Properties

- Methods

## Purpose

A collection of images that shall be used to represent a user defined node type in tree views or list views. Each image is identified by an integer value.

## Properties

The following properties are available:

- Parent

- Studio

- Count

### Parent

Used to navigate to the parent interface of this interface.

Natural Data Format | Variant Type | Remark
--- | --- | ---
HANDLE OF OBJECT | VT_DISPATCH (INatAutoTypes) | Get only

### Studio

Used to navigate to the root interface.

Natural Data Format | Variant Type | Remark
--- | --- | ---
HANDLE OF OBJECT | VT_DISPATCH (INatAutoStudio) | Get only

### Count

The number of available node images.

Natural Data Format | Variant Type | Remark
--- | --- | ---
I4 | VT_I4 | Get only

## Methods

The following method is available:

- AddImage

### AddImage

Adds a new image to the collection.

A list view node requires a 16x16 bitmap to represent the node in the "Small icons" view and a 32x32 bitmap for the "Large icons" view. A tree view node requires two 16x16 bitmaps, one representing the closed state and one representing the open state.

In order to register a 16x16 bitmap, the plug-in passes the bitmap in the parameter `ImageSmall`. In order to register additionally a corresponding 32x32 bitmap, the plug-in passes the bitmap in the parameter `ImageLarge`.

In order to register images for a node that shall be represented both in list views and in tree views, the plug-in calls `AddImage` once with the 16x16 bitmap representing the closed state and the corresponding 32x32 bitmap. Then it calls `AddImage` a second time passing the 16x16 bitmap representing the open state and omitting the second parameter.

#### Parameters

Name | Natural Data Format | Variant Type | Remark
--- | --- | --- | ---
Return value | I4 | VT_I4 |
ImageSmall | A HANDLE OF OBJECT | VT_BSTR VT_DISPATCH (IPictureDisp) |
ImageLarge | A HANDLE OF OBJECT | VT_BSTR VT_DISPATCH (IPictureDisp) | Optional

> Return value

>   An integer value that can later be used to refer to the image in the method `INatAutoNodeTypes::Add`.

> ImageSmall

>   A 16x16 bitmap. Areas in the bitmap that contain the color RGB(0,128,128) will be displayed transparent.

>   The bitmap can be specified in two ways:

>   - As an absolute path name of a .bmp file.

>   - As an `IPictureDisp` interface. An `IPictureDisp` interface can be created in Natural using the method `INatAutoImages::LoadImage`. Note that an `IPictureDisp` interface cannot be passed across process boundaries. This is due to a Microsoft restriction (MSDN Q150034). Therefore this alternative can only be used with plug-ins running as in-process servers. Natural written plug-ins always run as local servers and can therefore not use this alternative.

> ImageLarge

>   A 32x32 bitmap. Areas in the bitmap that contain the color RGB(0,128,128) will be displayed transparent.

>   The bitmap can be specified in two ways:

>   - As an absolute path name of a .bmp file.

>   - As an `IPictureDisp` interface. An `IPictureDisp` interface can be created in Natural using the method `INatAutoImages::LoadImage`. Note that an `IPictureDisp` interface cannot be passed across process boundaries. This is due to a Microsoft restriction (MSDN Q150034). Therefore this alternative can only be used with plug-ins running as in-process servers. Natural written plug-ins always run as local servers and can therefore not use this alternative.

### On this page

- Purpose
- Properties
- Methods