多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 库代码 ``` class CChart{ // 类创建时就默认创建了同名的名字空间 ctor(dll){ //这里的var 一定要带上,dll路径前要加$,第二个参数为空 ,解决用custom引用时冲突的问题 var _dll = ..raw.loadDll($"\res\CChartu.dll",,"cdecl"); }; /* 在用DLL查看工具导出的“声明”中第一名话: 以下自动生成的 aardio 代码用于声明使用 C++ 修饰名的 API 函数, 注意 C++ 同一类型可能实际上指向的内存数据结构或用途并不相同,例如 C++ 里的 double * 在 aardio 中根据参数用途可声明为 double&(引用)、struct(数组)、pointer(指针)等。 AddCurve1函数形参要更改:int(struct,struct,int,int) ← int(double&,double&,int,int) */ AddAlternateLabel = _dll.api("?AddAlternateLabel@Classless@@YAXPA_WH@Z","void(ustring&,int)") ; AddAlternateLabel1 = _dll.api("?AddAlternateLabel@Classless@@YAXPA_WHH@Z","void(ustring&,int,int)") ; AddAxis = _dll.api("?AddAxis@Classless@@YAXHH@Z","void(int,int)") ; AddComment = _dll.api("?AddComment@Classless@@YAHPA_WNNH@Z","int(ustring&,double,double,int)") ; AddContourPoint = _dll.api("?AddContourPoint@Classless@@YAXNNN@Z","void(double,double,double)") ; AddCurve3D = _dll.api("?AddCurve3D@Classless@@YAHPAN00H@Z","int(double&,double&,double&,int)") ; AddCurve = _dll.api("?AddCurve@Classless@@YAHH@Z","int(int)") ; AddCurve1 = _dll.api("?AddCurve@Classless@@YAHPAN0HH@Z","int(struct,struct,int,int)") ; AddCurve2 = _dll.api("?AddCurve@Classless@@YAHPAPA_WPA_WPANHH@Z","int(pointer,ustring&,double&,int,int)") ; // 省略部分 WriteToFile = _dll.api("?WriteToFile@Classless@@YA_NPA_WH@Z","byte(ustring&,int)") ; } ``` ## 智能提示 ``` /**intellisense() CChartu = cchart库 CChartu() = 对象 CChartu() = !CChart. !CChart.CreateChart() = 创建全局绘图变量 !CChart.DestroyChart() = 销毁全局绘图变量 !CChart.Attach(hwnd) = 粘窗口,默认折线图 !CChart.Attach1(hwnd,0/*折线图*/) = 粘窗口,并指定类型 !CChart.AddPoint2D(0/*x值*/,0/*y值*/,0/*nDataIndex*/,0/*nPlotIndex*/) =添加2维曲线的一个数据点 !CChart.AddPoint2D(.(x,y,nDataIndex,nPlotIndex) = 添加2维曲线的一个数据点, nDataIndex表示曲线的序号 end intellisense**/ ```