VDF常見(jiàn)問(wèn)題整理(四十五):如何要求用戶在MultiView布局中更改活動(dòng)視口?
VectorDraw Developer Framework(VDF)是一個(gè)用于應(yīng)用程序可視化的圖形引擎庫(kù)。有了VDF提供的功能,您可以輕松地創(chuàng)建、編輯、管理、輸出、輸入和打印2D和3D圖形文件。
VectorDraw Developer Framework試用版下載
問(wèn):
如何要求用戶在MultiView布局中更改活動(dòng)視口?
答:
只需單擊非活動(dòng)視口,用戶便可以將其激活。 通過(guò)代碼,您可以使用ActiveLayout的ActiveViewport屬性(獲取/設(shè)置)來(lái)執(zhí)行此操作,這樣您就可以獲取哪個(gè)視口也處于活動(dòng)狀態(tài)的信息。檢查以下代碼:
private void Form1_Load(object sender, EventArgs e) { // where doc = vdFramedControl.BaseControl.ActiveDocument doc.New(); doc.Open(@"C:\test\test.vdcl"); // this is a drawing that contains a multiview layout } private void button1_Click(object sender, EventArgs e) { bool changed = false; while (changed == false) // Loop until the user changes the viewport { vdViewport current = doc.ActiveLayOut.ActiveViewPort; if (current == null) return; // null means that MODEL or PAPERLAYOUT is active, // and that no viewport is active vdFramedControl.BaseControl.SetCustomMousePointer(Cursors.Default); doc.Prompt("\r\nSelect Viewport:"); object pt = doc.ActionUtility.getUserPoint(); if (doc.ActiveLayOut.ActiveViewPort!=null && doc.ActiveLayOut.ActiveViewPort != current) { changed = true; vdFramedControl.BaseControl.SetCustomMousePointer(null); doc.Prompt("\r\nActive Viewport of Multiview changed"); doc.Prompt(null); } else { changed = false; MessageBox.Show("didn't change"); } } }
以上問(wèn)答,如果您有任何的疑惑都可以在評(píng)論區(qū)留言,我們會(huì)及時(shí)回復(fù)。此系列的問(wèn)答教程我們會(huì)持續(xù)更新,如果您感興趣,可以多多關(guān)注本教程。
熱門文章推薦:
=======================================================
如果您對(duì)想要購(gòu)買正版授權(quán)VectorDraw Developer Framework(VDF),可以聯(lián)系在線客服>>咨詢相關(guān)問(wèn)題。
關(guān)注慧聚IT微信公眾號(hào) ???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。