[DllImport("libdisp.dll", CallingConvention = CallingConvention.ThisCall, EntryPoint = "?MT_create_progress_bar@@YA_NH_NPEAJ@Z")]
private static extern void MT_create_progress_bar(IntPtr v1, bool v2, out long v3);
[DllImport("libdisp.dll", CallingConvention = CallingConvention.ThisCall, EntryPoint = "?MT_set_progress_pos@@YAXPEAJH@Z")]
private static extern void MT_set_progress_pos(out long v1, int v2);
[DllImport("libdisp.dll", CallingConvention = CallingConvention.ThisCall, EntryPoint = "?MT_show_progress_bar@@YAXPEAJ@Z")]
private static extern void MT_show_progress_bar(out long v1);
[DllImport("libdisp.dll", CallingConvention = CallingConvention.ThisCall, EntryPoint = "?MT_set_progress_range@@YAXPEAJHH@Z")]
private static extern void MT_set_progress_range(out long v1, int v2, int v3);
[DllImport("libdisp.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?MT_ask_progress_cue_context@@YAHXZ")]
private static extern IntPtr MT_ask_progress_cue_context();
[DllImport("libdisp.dll", CallingConvention = CallingConvention.ThisCall, EntryPoint = "?MT_delete_progress_bar@@YAXPEAJ@Z")]
private static extern IntPtr MT_delete_progress_bar(out long v1);
[DllImport("libdisp.dll", CallingConvention = CallingConvention.ThisCall, EntryPoint = "?MT_set_progress_text@@YAXPEAJPEAD_N@Z")]
private static extern IntPtr MT_set_progress_text(out long v1, string v2, bool v3);
private void 进度条()
{
UFSession theUfSession = UFSession.GetUFSession();
IntPtr cc = IntPtr.Zero;
cc = MT_ask_progress_cue_context();
long aa = 0;
MT_create_progress_bar(cc, true, out aa);
MT_show_progress_bar(out aa);
MT_set_progress_text(out aa, "Running", true);
int num = 150;
MT_set_progress_range(out aa, 0, num);
for (int i = 0; i < num; i++)
{
theUfSession.Ui.SetStatus("测试" + i.ToString());
FeatureSigns sign=FeatureSigns.Nullsign;
double[] corner_pt=new double[]{i * 150, 0.0, 0.0};
string[] edge_len=new string[]{"100", "100", "100"};
Tag blk_obj_id=Tag.Null;
theUfSession.Modl.CreateBlock1(sign, corner_pt, edge_len, out blk_obj_id);
MT_set_progress_pos(out aa, i);
}
MT_delete_progress_bar(out aa);
Tag work_view = Tag.Null;
theUfSession.View.AskWorkView(out work_view);
theUfSession.View.FitView(work_view, 1);
}