CAD光标控制

设置光标线显示长度:


COM接口 _DMxDrawX::CursorLong
_DMxDrawX::SetCursorCrossLong
C++ MxDraw::SetCursorCrossLong


设置为0表示无限长:CursorLong= 0,默认值为30。


设置光标矩形框大小:


COM接口 _DMxDrawX::CursorWidth
_DMxDrawX::SetCursorPickRect
C++ MxDraw::SetCursorPickRect


默认值为6 ,单位是屏幕像素大小。


自定义设置光标


COM接口,临时需要改变光标,用如下函数完成:


保存光标状态,与RestoreCursor配合使用 _DMxDrawX::SaveCursor
设置光标,从cur光标文件加载 _DMxDrawX::SetCursor
恢复光标 _DMxDrawX::RestoreCursor


C++接口,该函数有三个重载,从光标文件(cur)加载光标,从光标资源中加载,设置内置光标MxDraw::SetCursor

得到光标函数,用于备份光标,在需要时恢复光标MxDraw::GetCursor


设置默认缺省时光标


COM接口 _DMxDrawX::UseArrowCursor


设置默认使用箭头光标,不要使用缺省的十字光标:


<param name="UseArrowCursor" value="1">


从文件加载一个默认光标,控件默认状态下将使用这个光标,路径是个相对MxDrawX.ocx所在目录下的文件。


Iniset属性,DEFAULTCURSOR=MyCursor.cur。


例如JS:


<param name="Iniset" value="DEFAULTCURSOR=MyCursor.cur">


C++接口 MxDraw::SetDefaultCursor


void CMxDrawXCtrl::SetUseArrowCursor(VARIANT_BOOL newVal)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
m_UseArrowCursor = (newVal != VARIANT_FALSE);
if(m_UseArrowCursor)
{
MxDraw::SetDefaultCursor(::LoadCursor(NULL, IDC_ARROW),m_hDrawOcx);
}
else
{
MxDraw::SetDefaultCursor(NULL,m_hDrawOcx);
}
SetModifiedFlag();
}


光标位置


得到位置,文档坐标,是个MxDrawPoint对象。


COM接口 _DMxDrawX::GetInputCursorPos


设置光标位置,文档坐标。


COM接口 _DMxDrawX::SetInputCursorPos

posted on 2019-07-15 10:25  梦想CAD控件  阅读(247)  评论(0)    收藏  举报

导航