| 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, но "программа выполнила недопустимую операцию". |