主要用到函数说明:
MxDraw::GetCursorPickRect
返回拾取矩形框的宽度,默认值为6。详细说明如下:
参数 | 说明 |
---|---|
IN MXDRAWOCXHANDLE hOcx |
控件窗口句柄 |
OUT int& iWidth |
返回光标拾取框的大小,光标拾取框是个矩形框,宽度等于高度 |
_DMxDrawX::ViewLongToDocCoord
视区长度到文档长度变换。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dLong |
视区长度 |
_DMxDrawX::DrawVectorLine
绘制矢量线。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dX1 |
开始点X值 |
DOUBLE dY1 |
开始点Y值 |
DOUBLE dX2 |
结束点X值 |
DOUBLE dY2 |
结束点Y值 |
LONG lColor |
颜色 |
_DMxDrawX::DrawVectorCircle
绘制矢量圆。详细说明如下:
参数 | 说明 |
---|---|
DOUBLE dCenX |
失量圆中心点X,文档坐标 |
DOUBLE dCenY |
失量圆中心点Y,文档坐标 |
DOUBLE dR |
失量圆半径,,文档坐标 |
LONG lColor |
颜色 |
js中代码实现说明:
//循环 while(true) { //新建一个COM组件对象 参数为COM组件类名 var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint"); getPt.message = "点取绘制点"; if(getPt.go() != 1) { return; } var frstPt = getPt.value(); if(frstPt == null) return; //返回拾取矩形框的宽度,默认值为6 var dLen = mxOcx.GetCursorPickRect(); //视区长度到文档长度变换 dLen = mxOcx.ViewLongToDocCoord(dLen); dLen *= 3.0; //绘制失量线 //参数一为开始点X值;参数二为开始点Y值;参数三为结束点X值;参数四为结束点Y值;参数五为颜色 mxOcx.DrawVectorLine(frstPt.x - dLen,frstPt.y - dLen, frstPt.x + dLen,frstPt.y + dLen, 255 ); mxOcx.DrawVectorLine(frstPt.x - dLen,frstPt.y + dLen, frstPt.x + dLen,frstPt.y - dLen, 255 ); //绘制失量圆 //参数一为失量圆中心点X,文档坐标 ;参数二为失量圆中心点Y,文档坐标;参数三为失量圆半径,文档坐标;参数四为颜色 mxOcx.DrawVectorCircle(frstPt.x,frstPt.y, dLen * 0.5, 65280); //更新当前控件的显示 mxOcx.UpdateDisplay(); }
原文地址:https://www.cnblogs.com/yzy0224/p/11043749.html
时间: 2024-11-09 05:57:38