标签:lin text view new 20px 结束 str stp ocx
主要用到函数说明:
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();
}标签:lin text view new 20px 结束 str stp ocx
原文地址:https://www.cnblogs.com/yzy0224/p/11043749.html