Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #6 : 06-02-2007 21:36 » |
|
Вот, например, компонент MS Office, отвечающий за построение графиков (Microsoft Office Chart), имеет такой интерфейс: [ uuid(204C1F73-1C0C-11D1-9923-00C04FB937E1), helpcontext(0x0501a000), dual ] dispinterface WCWebChart { properties: methods: [id(0x00001388), propput, bindable, helpcontext(0x0501a001)] void ChartLayout([in] ChartChartLayoutEnum rhs); [id(0x00001388), propget, bindable, helpcontext(0x0501a001)] ChartChartLayoutEnum ChartLayout(); [id(0x00001389), propput, bindable, helpcontext(0x0501a003)] void ChartWrapCount([in] long rhs); [id(0x00001389), propget, bindable, helpcontext(0x0501a003)] long ChartWrapCount(); [id(0x00001398), propput, bindable, helpcontext(0x0501a005)] void EnableEvents([in] VARIANT_BOOL rhs); [id(0x00001398), propget, bindable, helpcontext(0x0501a005)] VARIANT_BOOL EnableEvents(); [id(0x0000138a), propput, bindable, helpcontext(0x0501a007)] void HasChartSpaceLegend([in] VARIANT_BOOL rhs); [id(0x0000138a), propget, bindable, helpcontext(0x0501a007)] VARIANT_BOOL HasChartSpaceLegend(); [id(0x60020008), propget, helpcontext(0x0501a009)] long MajorVersion(); [id(0x60020009), propget, helpcontext(0x0501a00a)] BSTR MinorVersion(); [id(0x6002000a), propget, helpcontext(0x0501a00b)] BSTR BuildNumber(); [id(0x0000138b), propput, helpcontext(0x0501a00c)] void ScreenUpdating([in] VARIANT_BOOL rhs); [id(0x0000138b), propget, helpcontext(0x0501a00c)] VARIANT_BOOL ScreenUpdating(); [id(0x0000138c), propget, helpcontext(0x0501a00e)] Border* Border(); [id(0x0000138d), propget, helpcontext(0x0501a00f)] WCCharts* Charts(); [id(0x0000138e), propget, helpcontext(0x0501a010)] WCDataSources* ChartDataSources(); [id(0x0000139c), propputref, bindable, helpcontext(0x0501a011)] void DataSource([in] DataSource* rhs); [id(0x0000139c), propput, bindable, helpcontext(0x0501a011)] void DataSource([in] DataSource* rhs); [id(0x0000139c), propget, bindable, helpcontext(0x0501a011)] DataSource* DataSource(); [id(0x0000139d), propput, bindable, helpcontext(0x0501a014)] void DataMember([in] DataMember rhs); [id(0x0000139d), propget, bindable, helpcontext(0x0501a014)] DataMember DataMember(); [id(0x0000139f), propget, bindable, helpcontext(0x0501a016)] ChartDataSourceTypeEnum DataSourceType(); [id(0x0000139f), propput, bindable, helpcontext(0x0501a016)] void DataSourceType([in] ChartDataSourceTypeEnum rhs); [id(0x00001399), propput, bindable, helpcontext(0x0501a018)] void HasChartSpaceTitle([in] VARIANT_BOOL rhs); [id(0x00001399), propget, bindable, helpcontext(0x0501a018)] VARIANT_BOOL HasChartSpaceTitle(); [id(0x0000138f), propget, helpcontext(0x0501a01a)] Interior* Interior(); [id(0x00001390), propget, helpcontext(0x0501a01b)] WCLegend* ChartSpaceLegend(); [id(0x6002001b), propget, helpcontext(0x0501a01c)] IDispatch* Selection(); [id(0x6002001c), propget, helpcontext(0x0501a01d)] ChartSelectionsEnum SelectionType(); [id(0x6002001d), propput, hidden, helpcontext(0x0501a01e)] void HasSelectionMarks([in] VARIANT_BOOL rhs); [id(0x6002001d), propget, hidden, helpcontext(0x0501a01e)] VARIANT_BOOL HasSelectionMarks(); [id(0x6002001f), propput, hidden, helpcontext(0x0501a020)] void HasPropertyToolbox([in] VARIANT_BOOL rhs); [id(0x6002001f), propget, hidden, helpcontext(0x0501a020)] VARIANT_BOOL HasPropertyToolbox(); [id(0x00001391), propget, helpcontext(0x0501a022)] WCTitle* ChartSpaceTitle(); [id(0x00001392), propget, helpcontext(0x0501a023)] BSTR Version(); [id(0x0000139e), propget, helpcontext(0x0501a024)] BSTR XMLData(); [id(0x0000139e), propput, helpcontext(0x0501a024)] void XMLData([in] BSTR rhs); [id(0x60020025), propget, helpcontext(0x0501a026)] IDispatch* Constants(); [id(0x60020026), propget, helpcontext(0x0501a027)] VARIANT_BOOL CanUndo(); [id(0x0000139b), hidden, helpcontext(0x0501a028)] void BuildLitChart(); [id(0x0000139a), helpcontext(0x0501a029)] void Load([in] BSTR FileName); [id(0x00001394), helpcontext(0x0501a02a)] void Clear(); [id(0x6002002a), hidden, helpcontext(0x0501a02b)] void ShowHelp([in] long iTopic); [id(0x6002002b), helpcontext(0x0501a033)] void ExportPicture( [in, optional, defaultvalue("chart.gif")] BSTR FileName, [in, optional, defaultvalue("gif")] BSTR FilterName, [in, optional, defaultvalue(-1)] long width, [in, optional, defaultvalue(-1)] long height); [id(0x00001396), helpcontext(0x0501a02c)] void Refresh(); [id(0x6002002d), helpcontext(0x0501a034)] void Select(); [id(0x6002002e), helpcontext(0x0501a035)] void BeginUndo(); [id(0x6002002f), helpcontext(0x0501a036)] void EndUndo(); [id(0x60020030), helpcontext(0x0501a037)] void Undo(); [id(0x000013a1), helpcontext(0x0501a02d)] IDispatch* RangeFromPoint( [in] int X, [in] int Y); [id(0x60020032), propput, hidden, helpstring("Enabled"), helpcontext(0x0501a02e)] void Enabled([in] VARIANT_BOOL rhs); [id(0x60020032), propget, hidden, helpstring("Enabled"), helpcontext(0x0501a02e)] VARIANT_BOOL Enabled(); [id(0x60020034), propget, helpcontext(0x0501a031)] BSTR RevisionNumber(); [id(0x000013a2), propget, hidden] VARIANT_BOOL AllowAboutDialog(); [id(0x000013a2), propput, hidden] void AllowAboutDialog([in] VARIANT_BOOL rhs); };
думаю, этим можно воспользоваться. Создать его можно для 9-й версии компонента: var chart = new ActiveXObject("OWC.Chart"); Ещё на машине у себя нашёл 10-ю и 11-ю версии, там имя немного другое. Подробностей не знаю, никогда этим интерфейсом сам не пользовался. В MSDN 2004 и 2006 года описаний интерфейса не нахожу. P.S. Попытался ещё создать объект Microsoft Chart Control, но "программа выполнила недопустимую операцию".
|