在用户设计图纸时,在默认情况下,重叠对象(例如文字、宽多段线和实体填充多边形)通常按其创建次序显示:新创建的对象显示在现有对象前面。本实例演示了如何控制显示顺序,具体实现c#代码如下:
private void MxOrder()
{
MxDrawDatabase database = (MxDrawDatabase)axMxDrawX1.GetDatabase();
MxDrawResbuf ret = database.GetProp("getMinDrawOrder");
int lMin = ret.AtLong(0);
MxDrawResbuf ret2 = database.GetProp("getMaxDrawOrder");
int lMax = ret2.AtLong(0);
long sTemp = axMxDrawX1.DrawImage(0, 0, 0, 0, "D:\\mxcad.jpg");
MxDrawMcDbObject ent = database.ObjectIdToObject(sTemp);
MxDrawResbuf param = new MxDrawResbuf();
param.AddLong(lMin + 2);
ent.SetProp("drawOrder", param);
axMxDrawX1.ZoomAll();
}
由上述设置的c#代码可以将我们插入的图片显示到最开始绘制的两个实体之上,之后绘制的实体之下。效果如下图所示: