bindable

[interface-attribute-list] interface | dispinterface interface-name
{
[bindable
[, attribute-list]] returntype function-name(params)
}

attribute-list
Specifies zero or more attributes that apply to the function prototype for a property or a method in an interface or dispinterface. The following attributes are accepted: helpstring, helpcontext, string, defaultbind, displaybind, immediatebind, propget, propput, propputref, and vararg. If vararg is specified, the last parameter must be a safe array of VARIANT type. Separate multiple attributes with commas.

Examples

[uuid(. . .)]dispinterface MyObject 
{ 
properties: 
methods: 
 [id(1), propget, bindable, defaultbind, displaybind] 
        long x(); 
 [id(1), propput, bindable, defaultbind, displaybind] 
        HRESULT x(long rhs); 
} 
 

Remarks

The bindable attribute indicates that the property supports data binding. This allows the client to be notified whenever a property has changed value. (If you want the client to be notified of impending changes to a property, use the requestedit attribute.)

Because the bindable attribute refers to the property as a whole, it must be specified wherever the property is defined. Therefore, you need to specify the attribute on both the property-accessing function and the property-setting function.

Flags

FUNCFLAG_FBINDABLE, VARFLAG_FBINDABLE

See Also

defaultbind, displaybind, ODL File Syntax, ODL File Example, Generating a Type Library With MIDL, TYPEFLAGS, dispinterface