// Machine generated IDispatch wrapper class(es) created with Add Class from Typelib Wizard
#import "C:\\Users\\Pabloko\\Documents\\AutoPlay Media Studio 8\\Projects\\tooltip\\CD_Root\\tssBalloonTip2Demo.dll" no_namespace
// CBalloonTip wrapper class
class CBalloonTip : public COleDispatchDriver
{
public:
CBalloonTip(){} // Calls COleDispatchDriver default constructor
CBalloonTip(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
CBalloonTip(const CBalloonTip& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}
// Attributes
public:
// Operations
public:
// _BalloonTip methods
public:
unsigned long get_BackColor()
{
unsigned long result;
InvokeHelper(0x6803000d, DISPATCH_PROPERTYGET, VT_UI4, (void*)&result, NULL);
return result;
}
void put_BackColor(unsigned long newValue)
{
static BYTE parms[] = VTS_UI4 ;
InvokeHelper(0x6803000d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
unsigned long get_ForeColor()
{
unsigned long result;
InvokeHelper(0x6803000c, DISPATCH_PROPERTYGET, VT_UI4, (void*)&result, NULL);
return result;
}
void put_ForeColor(unsigned long newValue)
{
static BYTE parms[] = VTS_UI4 ;
InvokeHelper(0x6803000c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
long get_HoverTime()
{
long result;
InvokeHelper(0x6803000b, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void put_HoverTime(long newValue)
{
static BYTE parms[] = VTS_I4 ;
InvokeHelper(0x6803000b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
long get_PopupTime()
{
long result;
InvokeHelper(0x6803000a, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void put_PopupTime(long newValue)
{
static BYTE parms[] = VTS_I4 ;
InvokeHelper(0x6803000a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
BOOL get_Centered()
{
BOOL result;
InvokeHelper(0x68030009, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void put_Centered(BOOL newValue)
{
static BYTE parms[] = VTS_BOOL ;
InvokeHelper(0x68030009, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
long get_Style()
{
long result;
InvokeHelper(0x68030008, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void put_Style(long newValue)
{
static BYTE parms[] = VTS_I4 ;
InvokeHelper(0x68030008, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
long get_Icon()
{
long result;
InvokeHelper(0x68030007, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void put_Icon(long newValue)
{
static BYTE parms[] = VTS_I4 ;
InvokeHelper(0x68030007, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
BOOL get_RightToLeft()
{
BOOL result;
InvokeHelper(0x68030006, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void put_RightToLeft(BOOL newValue)
{
static BYTE parms[] = VTS_BOOL ;
InvokeHelper(0x68030006, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
CString get_Text()
{
CString result;
InvokeHelper(0x68030005, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void put_Text(LPCTSTR newValue)
{
static BYTE parms[] = VTS_BSTR ;
InvokeHelper(0x68030005, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
CString get_Title()
{
CString result;
InvokeHelper(0x68030004, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
return result;
}
void put_Title(LPCTSTR newValue)
{
static BYTE parms[] = VTS_BSTR ;
InvokeHelper(0x68030004, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
BOOL get_UseCustomFont()
{
BOOL result;
InvokeHelper(0x68030003, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void put_UseCustomFont(BOOL newValue)
{
static BYTE parms[] = VTS_BOOL ;
InvokeHelper(0x68030003, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
LPDISPATCH get_Font()
{
LPDISPATCH result;
InvokeHelper(0x68030002, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
void putref_Font(LPDISPATCH * newValue)
{
static BYTE parms[] = VTS_PDISPATCH ;
InvokeHelper(0x68030002, DISPATCH_PROPERTYPUTREF, VT_EMPTY, NULL, parms, newValue);
}
BOOL get_ShowShadow()
{
BOOL result;
InvokeHelper(0x68030001, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
return result;
}
void put_ShowShadow(BOOL newValue)
{
static BYTE parms[] = VTS_BOOL ;
InvokeHelper(0x68030001, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
long get_Transparency()
{
long result;
InvokeHelper(0x68030000, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
return result;
}
void put_Transparency(long newValue)
{
static BYTE parms[] = VTS_I4 ;
InvokeHelper(0x68030000, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
}
void MakeToolTipByHwnd(long lHWnd, LPCTSTR sText, LPCTSTR sTitleText, long eStyle, long eIcon, BOOL bCentered, long cForeColor, long cBackColor, long lHoverTime, long lPopupTime, BOOL bR2L)
{
static BYTE parms[] = VTS_I4 VTS_BSTR VTS_BSTR VTS_I4 VTS_I4 VTS_BOOL VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BOOL ;
InvokeHelper(0x6003000f, DISPATCH_METHOD, VT_EMPTY, NULL, parms, lHWnd, sText, sTitleText, eStyle, eIcon, bCentered, cForeColor, cBackColor, lHoverTime, lPopupTime, bR2L);
}
void MakeToolTip(LPDISPATCH * ownerControl, LPCTSTR sText, LPCTSTR sTitleText, long eStyle, long eIcon, BOOL bCentered, long cForeColor, long cBackColor, long lHoverTime, long lPopupTime, BOOL bR2L)
{
static BYTE parms[] = VTS_PDISPATCH VTS_BSTR VTS_BSTR VTS_I4 VTS_I4 VTS_BOOL VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_BOOL ;
InvokeHelper(0x60030010, DISPATCH_METHOD, VT_EMPTY, NULL, parms, ownerControl, sText, sTitleText, eStyle, eIcon, bCentered, cForeColor, cBackColor, lHoverTime, lPopupTime, bR2L);
}
void ShowBalloonTip(long * xPos, long * yPos, BOOL * bIsScreenCoords)
{
static BYTE parms[] = VTS_PI4 VTS_PI4 VTS_PBOOL ;
InvokeHelper(0x60030013, DISPATCH_METHOD, VT_EMPTY, NULL, parms, xPos, yPos, bIsScreenCoords);
}
void HideBalloonTip()
{
InvokeHelper(0x60030014, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
}
// _BalloonTip properties
public:
};
Esta clase se podria crear usando obj= new CBalloonTip; obj->function(...) ya que sus funciones son portadas a c++ y sus propiedades se han añadido como funciones con los prefijos get_ o set_
Luego simplemente habria que crear cada funcion en lua creando todas las funciones exportadas y nuevas para las propiedades y usando el api del objeto, en este caso seria pObject->obj->Function(...)
parece complejo pero os puedo enseñar y seguro que lo veis facil facil, y podeis usar toda la potencia de com con ams
Ademas seria posible crear un script que cree automaticamente el codiido c++ para lua usando este archivo de cabecera, ya que todas las definiciones estan perfectamente definidas y usadas