www.mxdraw.com
内容索引主面
前一个向上下一个
MxDrawXCustomEvent 接口

控件中的自定义事件说明 得到事件参数,调用控件的CustomEventParam 设置事件返回数据,调用控件的Mx_SetEventRetEx

IDL
interface MxDrawXCustomEvent;

MxDrawXCustomFunction.idl

例如: C#下面的使用例子

 private void axMxDrawX1_CustomEvent(object sender, AxMxDrawXLib._DMxDrawXEvents_CustomEventEvent e)
        {
            System.String sTmp;

            if (e.sEventName == "SetTipCoord")
            {
                MxDrawResbuf pParam = (MxDrawResbuf)(axMxDrawX1.CustomEventParam());

                sTmp = pParam.AtString(0);


            }
            else if(e.sEventName == "SysVarChanged")
            {
                // 系统变量发生改事件.

                MxDrawResbuf pParam = (MxDrawResbuf)(axMxDrawX1.CustomEventParam());

                // 得到系统变量名.
                System.String sVarName =  pParam.AtString(0);

                if (sVarName == "ORTHOMODE")
                {
                    // 垂直输入变量发生改变,得到改变后的值.
                    MxDrawResbuf spVarValue
                        = (MxDrawResbuf)(axMxDrawX1.Call("GetSysVar", sVarName));

                    Int32 iOsmode = spVarValue.AtLong(1);

                    MxDrawUtility mxUtility = new MxDrawUtility();

                    mxUtility.Prompt("n" + sVarName + "值:" + iOsmode);

                }


            }
            else if(e.sEventName == "OpenFileComplete")
            {
                // 打开图纸结束事件.
               // MessageBox.Show("OpenFileComplete");
            }

            else if (e.sEventName == "MxDrawXInitComplete")
            {
                // 控件加载初始化完成.
                //MessageBox.Show("MxDrawXInitComplete");
            }

        }

 

例如:JS下响应事件的代码

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<titleMxDraw控件</title>


</head>

<SCRIPT language="JavaScript">
    document.oncontextmenu = new Function('event.returnValue=false;'); //禁用右键
</SCRIPT>

<body topmargin="10" leftmargin="10">




 align="center"<object classid="clsid:74A777F8-7A8F-4e7c-AF47-7074828086E2" id="MxDrawXCtrl1"  width=50% height=90% align="left">       </object>


<script>

function CustomEvent(sEventName)
{
   if(sEventName == "Mx_UpdateDisplay")
   {
      // 视区更新
     // alert("Mx_UpdateDisplay");

      var eventParam = document.getElementById("MxDrawXCtrl1").CustomEventParam();
      if(eventParam.AtLong(0) == 1)
      {
        alert("更新显示缓存");
       }
   }
}

document.getElementById("MxDrawXCtrl1").ImplementCustomEvent = CustomEvent;

</script>

</p>



</body>
</html>
Copyright (c) 2010. All rights reserved.
你认为该帮助怎么样? 发送反馈信息!