返回介绍

在指定位置弹出一个菜单

发布于 2023-08-09 23:10:34 字数 2600 浏览 0 评论 0 收藏 0

主要用到函数说明:

函数名:_DMxDrawX::TrackPopupMenu

在指定位置弹出一个菜单。详细说明如下:

参数说明
DOUBLE dX弹出菜单的位置X值,是文档坐标
DOUBLE dY弹出菜单的位置Y值,是文档坐标
sMenuFile菜单定义文件,支持http开头的网络路径

函数名:_DMxDrawX::FindEntAtPoint

在某点位置处查找实体。详细说明如下:

参数说明
DOUBLE dX点X值,文档坐标
DOUBLE dY点Y值,文档坐标
IDispatch* pFilter过滤条件

js中使用如下:

                    function MouseEvent(dX, dY, lType) {                    
                    if(lType == 3)
                    {                        
                    // 鼠标右键按下
                        var filter = mxOcx.NewResbuf();                        
                        // 5020 = RTDXF0,只选择直线实体,设置过滤条件
                        //filter.AddStringEx("LINE",5020);

                        var ent = mxOcx.FindEntAtPoint(dX, dY, filter);

                        var sPopMenu;                       
                         if(ent != null)
                        {
                            mxOcx.ClearCurrentSelect();
                            mxOcx.AddCurrentSelect(ent.ObjectID,true,true);

                            sPopMenu = mxOcx.GetOcxAppPath() + "\MxPopMenuEnt.mnu"
                        }                        
                        else
                        {
                            sPopMenu = mxOcx.GetOcxAppPath() + "\MxPopMenu.mnu"
                        }


                        mxOcx.TrackPopupMenu(dX, dY, sPopMenu);                        
                        // 设置1,表示鼠标事件,不再往下传递.
                        mxOcx.SetEventRet(1);
                        }
                    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文