private void CreateDrawing(string[,] a)
{
VsApplication = axDrawingControl1.Window.Application;
Visio.Shape shpObjHUB = null;
Visio.Shape shpObjNodes = null;
Visio.Document stnObj = null;
Visio.Master mstObj = null;
double dblX = 0;
double dblY = 0;
double dblDegreeInc = 0;
double dblRad = 0;
double dblPageWidth = 0;
double dblPageHeight = 0;
const double PI = 3.1415;
const int CircleRadius = 2;
//MessageBox.Show(fn.GetUpperBound(0).ToString());
dblDegreeInc = 360 / a.GetUpperBound(0);
dblPageWidth = VsApplication.ActivePage.PageSheet.get_CellsSRC(
(short)Visio.VisSectionIndices.visSectionObject,
(short)Visio.VisRowIndices.visRowPage,
(short)Visio.VisCellIndices.visPageWidth).ResultIU;
dblPageHeight = VsApplication.ActivePage.PageSheet.get_CellsSRC(
(short)Visio.VisSectionIndices.visSectionObject,
(short)Visio.VisRowIndices.visRowPage,
(short)Visio.VisCellIndices.visPageHeight).ResultIU;
stnObj = VsApplication.Documents.OpenEx("D://来时拷贝//NetworkElement.vss", (short)Visio.VisOpenSaveArgs.visOpenDocked);
mstObj = stnObj.Masters[a[0, 0]];
shpObjHUB = VsApplication.ActivePage.Drop(mstObj, dblPageWidth / 2, dblPageHeight / 2);
shpObjHUB.Text = a[0, 1];
for(int i=0;i<=a.GetUpperBound(0);i++)
{
mstObj = stnObj.Masters[a[i, 0]];
dblRad = (dblDegreeInc * i) * PI / 180;
dblX = CircleRadius * Math.Cos(dblRad) + (dblPageWidth / 2);
dblY = CircleRadius * Math.Sin(dblRad) + (dblPageHeight / 2);
//Add shape to drawing in proper location
shpObjNodes = VsApplication.ActivePage.Drop(mstObj, dblX, dblY);
//Set shape text
shpObjNodes.Text = a[i, 1];
}
}
{
VsApplication = axDrawingControl1.Window.Application;
Visio.Shape shpObjHUB = null;
Visio.Shape shpObjNodes = null;
Visio.Document stnObj = null;
Visio.Master mstObj = null;
double dblX = 0;
double dblY = 0;
double dblDegreeInc = 0;
double dblRad = 0;
double dblPageWidth = 0;
double dblPageHeight = 0;
const double PI = 3.1415;
const int CircleRadius = 2;
//MessageBox.Show(fn.GetUpperBound(0).ToString());
dblDegreeInc = 360 / a.GetUpperBound(0);
dblPageWidth = VsApplication.ActivePage.PageSheet.get_CellsSRC(
(short)Visio.VisSectionIndices.visSectionObject,
(short)Visio.VisRowIndices.visRowPage,
(short)Visio.VisCellIndices.visPageWidth).ResultIU;
dblPageHeight = VsApplication.ActivePage.PageSheet.get_CellsSRC(
(short)Visio.VisSectionIndices.visSectionObject,
(short)Visio.VisRowIndices.visRowPage,
(short)Visio.VisCellIndices.visPageHeight).ResultIU;
stnObj = VsApplication.Documents.OpenEx("D://来时拷贝//NetworkElement.vss", (short)Visio.VisOpenSaveArgs.visOpenDocked);
mstObj = stnObj.Masters[a[0, 0]];
shpObjHUB = VsApplication.ActivePage.Drop(mstObj, dblPageWidth / 2, dblPageHeight / 2);
shpObjHUB.Text = a[0, 1];
for(int i=0;i<=a.GetUpperBound(0);i++)
{
mstObj = stnObj.Masters[a[i, 0]];
dblRad = (dblDegreeInc * i) * PI / 180;
dblX = CircleRadius * Math.Cos(dblRad) + (dblPageWidth / 2);
dblY = CircleRadius * Math.Sin(dblRad) + (dblPageHeight / 2);
//Add shape to drawing in proper location
shpObjNodes = VsApplication.ActivePage.Drop(mstObj, dblX, dblY);
//Set shape text
shpObjNodes.Text = a[i, 1];
}
}