## IupSetAttributeHandle

Instead of using IupSetHandle and IupSetAttribute with a new creative name, this function automatically creates a non conflict name and associates the name with the attribute.

It is very useful for associating images and menus.

### Parameters/Return

    void IupSetAttributeHandle(Ihandle *ih, const char *name, Ihandle *ih_named); [in C]
    void IupSetAttributeHandleId(Ihandle *ih, const char *name, int id, Ihandle *ih_named); [in C]
    void IupSetAttributeHandleId2(Ihandle *ih, const char *name, int lin, int col, Ihandle *ih_named); [in C]
    [There is no equivalent in Lua]

ih: identifier of the interface element.
name: name of the attribute.
id, lin, col: used when the attribute has additional ids. (since 3.21)
ih_named: element to associate using a name

The function will not check for inheritance since all the attributes that associate handles are not inheritable.

### Notes

This work is automatically done in Lua when an attribute that is an element name is set to an element handle. In other words, in Lua you can set a string or a handle as the attribute value, when a handle is used a name is automatically created just as the IupSetAttributeHandle.

### See Also

IupGetAttributeHandle, IupSetAttribute, IupSetAttributes, IupSetHandle