0
点赞
收藏
分享

微信扫一扫

梦想CAD控件安卓版控件事件


1、命令调用事件

MxDrawActivity.commandEvent

命令调用事件。

参数

说明

int iCommand

命令ID,这个ID用户自已来取的,只要多个命令ID不重复就可以

代码实现如下:

public void commandEvent(int iCommand){​​
​​if​​​​(iCommand == 103)​​
​​{​​
​​MxFunction.newFile();​​
​​Log.e(​​​​"isModifyed"​​​​,MxFunction.isModifyed() ? ​​​​"Y"​​​ ​​: ​​​​"N"​​​​);​​

​​MrxDbgUiPrPoint getPoint = ​​​​new​​​ ​​MrxDbgUiPrPoint();​​
​​getPoint.setMessage(​​​​"点取图块插入点"​​​​);​​
​​if​​​​(getPoint.go() != MrxDbgUiPrPoint.Status.kOk)​​
​​{​​
​​return​​​​;​​
​​}​​
​​McGePoint3d pt = getPoint.value();​​

​​String sFileName = MxFunction.getWorkDir() + ​​​​"/tree.dwg"​​​​;​​
​​String sBlkName = ​​​​"tree"​​​​;​​
​​MxLibDraw.insertBlock(sFileName,sBlkName);​​


​​MxLibDraw.drawBlockReference(pt.x,pt.y,sBlkName,0.3,0);​​

​​MxFunction.zoomAll();​​

​​Log.e(​​​​"isModifyed"​​​​,MxFunction.isModifyed() ? ​​​​"Y"​​​ ​​: ​​​​"N"​​​​);​​
​​}​​
​​}​​

2、触摸事件

MxDrawActivity.touchesEvent

触摸事件。

参数

说明

int iType

触摸类型

dx

触摸的x坐标

dy

触摸的y坐标

代码实现如下:

​​public  int touchesEvent(int iType,double dX,double dY)​​
​​{​​

​​double[] ret = MxFunction.docToView(dX,dY);​​
​​String sK;​​
​​sK = String.format(​​​​"docToView:%f,%f"​​​​,ret[0],ret[1]);​​
​​Log.e(​​​​"docToView"​​​​,sK);​​


​​if​​​​(​​​​false​​​​)​​
​​{​​


​​String sT;​​
​​sT = String.format(​​​​"touchesEvent:%f,%f"​​​​,dX,dY);​​
​​Log.e(​​​​"touchesEvent"​​​​,sT);​​

​​long lIdImage = MxFunction.findEntAtPoint(dX,dY,​​​​"IMAGE"​​​​);​​
​​if​​​​(lIdImage != 0)​​
​​{​​
​​String sGetVal = MxFunction.getxDataString(lIdImage,​​​​"MyData"​​​​);​​

​​Log.v(​​​​"Find MxImage"​​​​,decodeUnicode(sGetVal));​​

​​this​​​​.runOnUiThread(​​​​new​​​ ​​Runnable() {​​
​​@Override​​
​​public void run() {​​


​​new​​​ ​​AlertDialog.Builder(MxCADAppActivity.​​​​this​​​​).setTitle(​​​​"系统提示"​​​​)​​
​​//设置对话框标题​​

​​.setMessage(​​​​"找到一个标记"​​​​)​​
​​//设置显示的内容​​

​​.setPositiveButton(​​​​"确定"​​​​,​​​​new​​​ ​​DialogInterface.OnClickListener() {​​
​​//添加确定按钮​​



​​@Override​​

​​public void onClick(DialogInterface dialog, int which) {​​
​​//确定按钮的响应事件​​





​​}​​

​​}).show();​​
​​//在按键响应事件中显示此对话框​​


​​}​​
​​}​​
​​);​​
​​}​​
​​else​​
​​{​​
​​// long lId = MxFunction.findEntAtPoint(dX,dY,"TEXT,MTEXT");​​

​​//if(lId != 0)​​
​​{​​


​​long lImageId = MxFunction.drawImage(​​​​"start.png"​​​​,dX,dY,30);​​

​​//long lImageId = MxFunction.drawImage2("start.png",dX,dY,dX + 1000,dY + 3000);​​

​​MxFunction.setxDataString(lImageId,​​​​"MyData"​​​​,​​​​"TestVal中文测试111"​​​​);​​

​​String sGetVal = MxFunction.getxDataString(lImageId,​​​​"MyData"​​​​);​​


​​this​​​​.runOnUiThread(​​​​new​​​ ​​Runnable() {​​
​​@Override​​
​​public void run() {​​


​​new​​​ ​​AlertDialog.Builder(MxCADAppActivity.​​​​this​​​​).setTitle(​​​​"系统提示"​​​​)​​
​​//设置对话框标题​​

​​.setMessage(​​​​"在图上绘了一个标记"​​​​)​​
​​//设置显示的内容​​

​​.setPositiveButton(​​​​"确定"​​​​,​​​​new​​​ ​​DialogInterface.OnClickListener() {​​
​​//添加确定按钮​​



​​@Override​​

​​public void onClick(DialogInterface dialog, int which) {​​
​​//确定按钮的响应事件​​

​​// TODO Auto-generated method stub​​



​​}​​

​​}).show();​​
​​//在按键响应事件中显示此对话框​​


​​}​​
​​}​​
​​);​​
​​}​​
​​}​​


​​}​​
​​return​​​ ​​0;​​
​​}​​

3、初始化完成调用事件

MxDrawActivity.initComplete

初始化完成时调用的事件。

4、当前选择实体发生变化调用事件

MxDrawActivity.selectModified

当前选择实体发生变化,会调用该事件。

参数

说明

long lId

当前被选择的实体lId,是一个实体lid链表

5、打开完成时调用事件

MxDrawActivity.openComplete

打开完成时调用的事件。

参数

说明

isOK

是否成功

举报

相关推荐

0 条评论