====================================================================
Lu扩展动态库：

		Lu窗口库：LuWin32.dll
====================================================================
#LuWin使用说明{
[LuWin32.dll] LuWin使用说明

    LuWin32.dll是一个Lu扩展动态库，主要包含一些窗口函数，特别是绘制2D或3D图形的函数。多线程动态绘制图形是LuWin的基本特点。

    LuWin主要由杨国君先生开发的数据可视化库CChart提供支持，保留所有权利。杨先生的E-mail：baita00@aliyun.com，QQ、微信：1541583。

    在LuWin中的函数是通过二级函数命名空间“win”输出的，所有函数均具有类似“win::Plot(...)”的格式。使用!!!using("win");可简化LuWin中的函数访问。

    LuWin32.dll需要MLu32.dll的支持。

    本机LuWin使用说明的地址（OpenLu文件夹）：help\luhtm\luwin.htm

    在Lu脚本中使用CChart绘图系列教程地址：http://www.forcal.net/bczl/lucchart.htm

    LuWin的部分函数（仅用于方便搜索到本帮助，不建议从这里查看说明）：

win::ChartWnd 显示窗口并进行初始化。 
win::cwResetChart() 重置数据。若以前设置过任何数据，将被清除。 
win::cwAttach 设置图像类型，并粘到窗口。 
win::cwAddCurve 添加曲线。 
win::cwAddPoint2D(x, y, nCurve, nPlot) 添加2维曲线的一个数据点。nCurve表示曲线的序号，nCurve如果等于当前曲线的条数，则新增一条曲线，如果小于0或者大于当前曲线条数，则添加失败；nPlot是分裂视图、分层视图、共享X轴视图的子图序号。nCurve和nPlot可以缺省。返回曲线序号。 
win::cwAddPoint3D(x, y, z, nCurve) 添加3维曲线的一个数据点。nCurve表示曲线的序号，nCurve如果等于当前曲线的条数，则新增一条曲线，如果小于0或者大于当前曲线条数，则添加失败；nCurve可以缺省。返回曲线序号。 
win::cwClearData 清除曲线数据。 
win::cwGetIndex(idData, nPlot) 从曲线的idData（曲线的唯一标识）获得曲线的序号nIndex（序号是连续的），nPlot是分裂视图、分层视图、共享X轴视图的子图序号；若缺省nPlot，默认0子图。运行错误：1：参数个数不符合要求；2：参数不符合要求。 
win::cwGetDataID(nIndex, nPlot) 从曲线的序号nIndex（序号是连续的）获得曲线的idData（曲线的唯一标识），nPlot是分裂视图、分层视图、共享X轴视图的子图序号；若缺省nPlot，默认0子图。运行错误：1：参数个数不符合要求；2：参数不符合要求。 
win::cwAddPie(value, title) 添加饼图的一个值。value为实数，字符串title用于设置饼的标题，可缺省。运行错误：1：参数个数不符合要求；2：参数不符合要求。 
win::cwAddStems(pData, nLen, title) 添加柱图的一个序列。pData是一维实数数组，nLen是数据个数，字符串title用于设置饼的标题，可缺省。 运行错误：1：参数个数不符合要求；2：参数不符合要求。 
win::cwSetFieldFcn(@f) 设置场函数f，用于等高线图、云图、三维曲面图。f为二元函数句柄，必须返回一个实数。运行错误：1：找不到场函数；2：场函数不是二元函数。 
win::cwGetType() 获取图像类型，返回其编码（整数）。 
win::cwSetType(nType) 设置图像类型。返回逻辑值，true表示成功。 
win::cwAddLayer() 增加一个图层，用于分层视图、共享X轴视图。返回一个整数，表示图层号。 
win::cwResizePlots 设置子图数量或图层数量。 
win::cwSetPlotRange(X1, X2, Y1, Y2) 设置X坐标轴和Y坐标轴的范围，常用于typeContourLine（等高线图）。返回逻辑值，true表示成功。 
win::cwSetXRange(low, high, nPlot) 设置X坐标轴范围，nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetYRange(low, high, nPlot) 设置Y坐标轴范围，nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetExactXRange(bExact, nPlot) 设置X坐标轴范围与数据范围相同，不向两端扩展。bExact为逻辑值；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetExactYRange(bExact, nPlot) 设置Y坐标轴范围与数据范围相同，不向两端扩展。bExact为逻辑值；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetEqualXYAxis(bEqual) 设置坐标轴等长，只对typeXY有效。bExact为逻辑值。返回逻辑值，true表示成功。 
win::cwSetEqualXYRange(bEqual) 设置坐标轴等范围，只对typeXY有效。bExact为逻辑值。返回逻辑值，true表示成功。 
win::cwSetEqualXYScale(bEqual) 设置坐标轴等比例尺，只对typeXY有效。bExact为逻辑值。返回逻辑值，true表示成功。 
win::cwSetTitle(title, nPlot) 设置图像标题。title为标题字符串；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetDataTitle(title, nData, nPlot) 设置数据标题。title为标题字符串；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetDataColor(color, nData, nPlot) 设置数据颜色。color为数据颜色；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetDataLineStyle(nStyle, nData, nPlot) 设置数据样式。nStyle为数据样式；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetDataLineSize(nSize, nData, nPlot) 设置数据大小。nSize为数据大小；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetPlotType(nType, nData, nPlot) 设置曲线的绘制方式。nType为曲线样式；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetMarkerShow(bShow, nData, nPlot) 设置曲线数据点标记是否显示。bShow为逻辑值；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetMarkerFill(bFill, nData, nPlot) 设置曲线数据点标记是否填充。bFill为逻辑值；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetMarkerType(nType, nData, nPlot) 设置曲线数据点标记的形状。nType为标记的形状；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetMarkerSize(nSize, nData, nPlot) 设置曲线数据点的大小。nSize为标记的形状；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetMarkerFreq(nFreq, nData, nPlot) 设置曲线数据点标记频率，0表示不标记，正n表示每隔n个点标记一次，负n表示一共标记n个点。nFreq为标记频率；nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetScatter(nData, nPlot) 设置曲线散点显示模式。nData为曲线的Index；nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetUseLegend(bUse, nPlot) 设置是否使用图例。nPlot是分裂视图、分层视图、共享X轴视图的子图序号，可以缺省。返回逻辑值，true表示成功。 
win::cwSetContourLineNum(num) 设置等高线图等高线的数量。返回逻辑值，true表示成功。 
win::cwSetContourPrecision(n) 设置等高线图等高线绘制的精度，n越大，精度越高，一般5就可以了。返回逻辑值，true表示成功。 
win::cwSetZoomMode(zoom) 设置图像整体缩放模式。zoom为逻辑值。返回逻辑值，true表示成功。 
win::cwSetZoomFactorX(fact) 设置图像整体缩放时X方向的缩放系数。fact为实数。返回逻辑值，true表示成功。 
win::cwSetZoomFactorY(fact) 设置图像整体缩放时Y方向的缩放系数。fact为实数。返回逻辑值，true表示成功。 
win::cwSetZoomFactor(fact) 设置图像整体缩放时两个方向的缩放系数。fact为实数。返回逻辑值，true表示成功。 
win::cwSetZoomCenter(center) 设置图像整体缩放时的缩放中心。fact为整数，0表示左上，1表示左下，2表示右上，3表示右下，4表示中心。返回逻辑值，true表示成功。 
win::cwSetVKFor 设置虚拟键函数，使用户通过虚拟键控制图形显示，返回值无意义。 
win::cwSetMouseFor 设置鼠标函数，使用户通过鼠标图形显示，返回值无意义。 
win::cwSetExeMsg() 用户通过cwSetExe设定函数后，通过cwSetExeMsg发送执行消息，返回值无意义。 该函数可在任意线程中执行。 
win::cwSetExe(@f) 设置可通过cwSetExeMsg发送消息执行的函数f，返回逻辑值。运行错误：1：非法的函数句柄。 
win::cwSetTimer(@f, Ellapse, bRun) 设置通过内置定时器执行的函数f，返回逻辑值。Ellapse为计时间隔（毫秒）。若bRun=true，则立即启动计时器；否则在窗口手动启动计时器。Ellapse和bRun均可缺省，缺省值Ellapse=500，bRun=false。运行错误：1：参数个数不符合要求；2：参数不符合要求；3：非法的函数句柄。 

以下是用Lu脚本定义的实用绘图函数，可在OpenLu环境中可直接使用，函数定义位置： module\ChartWnd实用函数.txt
luShareX(data) 绘制共享X轴视图。data是一个矩阵或者二维数组。 
luPlot(data) 绘制一元函数共享X轴图形。data是一个lu对象。 

win::Plot 动态绘制一元函数及数组图形。 
win::PlotExe 向Plot发送执行函数命令并刷新图形。 
win::FunTimer 使用计时器定时执行函数。 
win::SetPara 设置可通过参数修改窗口修改的参数。 
win::GetWin(k) 获得窗口句柄。k=hPlot时获得Plot窗口的句柄；k=hChartWnd时获得ChartWnd窗口的句柄。 
win::RGB(r,g,b) 定义绘图颜色。r,g,b分别表示红色值、绿色值和蓝色值。r,g,b取值范围均为0～255。 
win::MessageBox 消息框函数。 
win::GetFileName(str) 选择一个文件名。字符串str显示到打开文件对话框的标题栏中，可缺省此参数。返回一个动态字符串，包含了所选择的文件名，若用户放弃选择，返回一个空串。运行错误：1：参数个数不符合要求；2：非法的字符串；3：内存错误。 
}#
--------------------------------------------------------------------
