Visual Graph是一款圖形平臺(tái)產(chǎn)品,它適合開發(fā)各行業(yè)涉及圖形的應(yīng)用系統(tǒng),例如電力、煤炭、化工、自動(dòng)化監(jiān)控、仿真、圖形建模、圖形拓?fù)浞治觥⑹噶坷L圖等,使用范圍非常廣泛。
Visual Graph在移動(dòng)平臺(tái)前端開發(fā)上做了大量工作,所繪制的圖形導(dǎo)出成svg后,自帶javascript程序,從而大大方便了移動(dòng)端的監(jiān)控開發(fā)。
Visual Graph可以實(shí)現(xiàn)工業(yè)上幾乎任何可以動(dòng)作的儀器儀表,例如 刀閘、開關(guān)、儀表盤、氣溫計(jì)、氣缸、各種液位罐、煤礦用傳送皮帶、風(fēng)機(jī)、 LED顯示、滑塊、各種信號(hào)燈、各種異形按鈕、棒圖、餅圖、曲線圖等等。因此在工業(yè)自動(dòng)化監(jiān)控、仿真、電力、煤炭、化工等方面具有非常好的應(yīng)用。
Visual Graph圖形具有類似Visio那樣的設(shè)計(jì)界面,可以轉(zhuǎn)換AutoCAD、Visio、CorelDraw等流行軟件的矢量圖形,允許用戶非常方便地制作自己的圖形符號(hào),繪制漂亮的矢量圖形。此外,軟件支持表格繪制功能,圖形之間還可以建立拓?fù)溥B接關(guān)系。
由于內(nèi)置功能強(qiáng)大、易學(xué)的腳本語言,Visual Graph的基本圖形組合而成的“元件”具有無窮的生命力,這些元件被封裝后使用時(shí),程序員不用考慮內(nèi)部實(shí)現(xiàn)的細(xì)節(jié),直接把元件當(dāng)作一個(gè)整體對(duì)象來使用。
Visual Graph圖形的基本屬性繁多,涵蓋了目前圖形應(yīng)用的方方面面需求。此外,圖形可以添加兩種類型的自定義屬性,一種只是作為存儲(chǔ)數(shù)據(jù),另一種則可以通過屬性的修改而改變?cè)?nèi)部的結(jié)構(gòu) 。例如當(dāng)給儀表盤的Value賦值時(shí),儀表盤指針偏轉(zhuǎn)。
Visual Graph具有完善的交互能力,圖形運(yùn)行時(shí),不僅畫面有各種鼠標(biāo)、鍵盤事件,而且每個(gè)圖形單元都可以實(shí)現(xiàn)自己的事件。此外,還可以制作對(duì)話盒、菜單、彈出式窗口等。
Visual Graph支持Windows API編程,因此可以輕松實(shí)現(xiàn)類似播放聲音、超級(jí)鏈接這樣的Windows功能,也可用自己的dll來擴(kuò)充Visual Graph的功能,例如數(shù)據(jù)庫、通訊等。
Visual Graph支持多頁面、多圖層,圖層可以隱藏或鎖定,此外,畫面上的所有圖形還可以分組,例如,所有的開關(guān)分為一組,所有的儀表盤分為一組 等等。這樣,就能更好地對(duì)畫面上的圖形進(jìn)行管理。
軟件優(yōu)點(diǎn):
可靠性: 用戶主要是工業(yè)領(lǐng)域的軟件公司或系統(tǒng)集成商,他們對(duì)軟件的質(zhì)量要求很高,首先,軟件長期處于無人值守的運(yùn)行狀態(tài)下,所以,不能有任何隱患出現(xiàn)。其次,圖形要及時(shí)響應(yīng)硬件不斷發(fā)出的指令,所以,反應(yīng)速度要快。第三,要考察對(duì)方售后服務(wù)方面如何。我們現(xiàn)在已經(jīng)和數(shù)百家用戶建立了合作關(guān)系,其中大多是行業(yè)內(nèi)鼎鼎有名的軟件公司或上市公司,每家公司在合作前都進(jìn)行了長期的考察。實(shí)踐證明,用戶對(duì)我們的產(chǎn)品質(zhì)量和售后服務(wù)均非常滿意。用一位老用戶的話說,“ Visual Graph 真是越用越好用!”,“太強(qiáng)大了!”。
兼容性: 軟件全部功能都采用 Windows 基本標(biāo)準(zhǔn)設(shè)計(jì),軟件提供的接口不僅能夠支持 VB 、 VC 、 Delphi 、 PowerBuilder 、 FoxPro 、 C++Builder 、 C# 、 VB.net 、 VC.net 、 IE 等不同的工作環(huán)境,而且提供了全部類庫。
易用性: 程序員大都熟悉面向?qū)ο蟮目梢暬幊谭椒ǎ?VB 、 Delphi 、 C# 就是典型。 Visual Graph 非常類似這幾種語言。繪圖習(xí)慣類似界面設(shè)計(jì),腳本類似 Basic ,卻僅有很少語法。對(duì)象的屬性、函數(shù)的命名方式都經(jīng)過精心的設(shè)計(jì),保證符合程序員的思維習(xí)慣。由于接口提供了完全的類庫,當(dāng)程序員在某個(gè)圖形對(duì)象名后輸入小數(shù)點(diǎn)時(shí),立即出現(xiàn)下拉列表,里面列出了全部可用的屬性和函數(shù)。圖形文件采用標(biāo)準(zhǔn) XML 而不是不可知的二進(jìn)制格式,工作起來更放心。此外也提供了非常完善的幫助文檔。
擴(kuò)展性: Visual Graph 在圖庫設(shè)計(jì)方面不象許多圖形軟件只能設(shè)計(jì)簡單的組合圖形,也不象許多軟件必須提供插件才能實(shí)現(xiàn)復(fù)雜的圖形,它的基本圖形元素能夠通過嵌套技術(shù)、腳本技術(shù)像變魔術(shù)般生成無窮無盡的萬千圖庫,不需要編寫插件,此外, Visual Graph 不支持的技術(shù),程序員都可以自行實(shí)現(xiàn)。
Visual Graph內(nèi)置的腳本語言在面向?qū)ο蟮募軜?gòu)方面十分類似Borland公司的Delphi語言,引入了類似VCL的架構(gòu)體系。現(xiàn)在的C#也十分類似這樣的體系,最典型的技術(shù)是,當(dāng)我們給一個(gè)對(duì)象添加屬性的時(shí)候,需要編寫Get取值和Set賦值函數(shù)。
1. 圖形文件和圖形庫是統(tǒng)一的 XML 格式
Visual Graph 采用圖形文檔和圖庫文檔統(tǒng)一的 XML 格式,你可以任意自由地畫圖,任意設(shè)計(jì)屬性、函數(shù)、事件,這樣相當(dāng)于給圖形賦予了生命,設(shè)計(jì)好的圖形文件馬上就可以被當(dāng)作圖庫來使用,這樣通過多層嵌套,就可以設(shè)計(jì)非常復(fù)雜的圖形出來,結(jié)構(gòu)相當(dāng)緊湊。
2.一個(gè)文檔包括多個(gè)頁面圖形
你可以在一個(gè)文檔內(nèi)包含多個(gè)畫面,而當(dāng)這個(gè)文檔被用作圖庫的時(shí)候,每個(gè)畫面又被當(dāng)作一個(gè)個(gè)元件來使用了,整個(gè)系統(tǒng)形成完備的整體。
3. 頁面支持多圖層,圖層可以隱藏或鎖定
畫很大的圖時(shí),有可能需要建立多個(gè)圖層,例如地理圖上的道路、電力設(shè)施、水管、商店、政府部門等可以分別設(shè)定在不同的圖層上,圖層其實(shí)就是頁面。
4. 通過幾種基本圖形,可以制作任意種類繁多的元件
一切復(fù)雜的圖形元件都來自于幾種簡單的基本圖形,基礎(chǔ)圖形越少,整個(gè)系統(tǒng)的架構(gòu)越靈活可靠。如果把各種專用圖符等放在系統(tǒng)內(nèi)部,當(dāng)作不同的類別實(shí)現(xiàn),這樣,系統(tǒng)結(jié)構(gòu)就很松散而且難以學(xué)習(xí)了。
5. 可以進(jìn)入元件內(nèi)部編輯其細(xì)節(jié)
需要專門的圖庫編輯軟件么?不需要,只要在Visual Graph集成環(huán)境中,就可以隨時(shí)進(jìn)入元件的內(nèi)部,修改其細(xì)節(jié)。
6. 線條編輯,允許插點(diǎn),刪點(diǎn),畫曲線,直線
允許在線條上插入頂點(diǎn),刪除頂點(diǎn)。線條的每個(gè)頂點(diǎn)除了有 x 和 y 兩個(gè)坐標(biāo)值以外,還有一個(gè)頂點(diǎn)屬性值,用來描述這個(gè)頂點(diǎn)的畫法。通過簡單改變頂點(diǎn)的屬性,一條折線可以變成曲線,可以變成兩段不相連接的折線。
7. 直接在畫面上編輯文字,文字自由旋轉(zhuǎn)
文字編輯方式自然,即使文字單元有旋轉(zhuǎn),編輯方式不變,甚至輸入光標(biāo)也會(huì)跟著旋轉(zhuǎn)。
8. 無數(shù)次的 Undo 和 Redo
能夠?qū)^大多數(shù)操作進(jìn)行撤銷和恢復(fù),不是簡單地規(guī)定撤銷和恢復(fù)多少次,而是根據(jù)內(nèi)存狀況采用優(yōu)化的調(diào)度策略,許多方面,盡管用戶可能很少用到,但都盡量節(jié)約內(nèi)存使用。
9. 簡單易學(xué)的Visual Graph語言
純面向?qū)ο竽_本語言,結(jié)構(gòu)簡單,語法只有簡單的幾條,變量也不需要定義,直接任意賦值。比起其他流行的編程語言,更加簡潔明快、高效。
10. 每個(gè)圖形都可以設(shè)置透明度,填充、線條也可以設(shè)置透明度
11. 可以導(dǎo)入導(dǎo)出svg格式的圖形文件
對(duì)svg的支持,可以使用網(wǎng)上巨量的svg圖標(biāo)庫。
12. 文檔打印紙可以自由設(shè)定大小和縮放比例
打印無級(jí)縮放,多大的圖形都可以放在一張紙上打印,而打印效果直觀地顯示在畫面上,只要顯示打印紙,就可以清楚看到打印紙的位置,你可以用鼠標(biāo)改變它的位置和大小。打印紙?jiān)叫。鄬?duì)來講打印出來的圖形就越大,反之,打印紙?jiān)酱螅蛴〕鰜淼膱D形就越小,而所包括的圖形也更多。不需要模擬顯示。
13. 打印和設(shè)備無關(guān)
畫面打印情況只與打印紙、圖形的相對(duì)位置有關(guān),與設(shè)備無關(guān)。所有頁面共用同一張打印紙。
14. 支持圖形分組
允許建立若干個(gè)圖形組,這些組被保存進(jìn)文件,這樣可以方便地對(duì)圖形進(jìn)行分組管理和編程。例如,在一幅地圖上,把所有房子建立一個(gè)數(shù)組,把所有公用設(shè)施按照類別分別建立一個(gè)數(shù)組等。
15. 多種連接線,十分靈活,可以建立圖形間的拓?fù)潢P(guān)系,自由添加連接點(diǎn)
有直線連接線,曲線連接線,平直連接線。元件內(nèi)部可以自由設(shè)置任意個(gè)數(shù)的連接點(diǎn),圖形的連接點(diǎn)數(shù)目以及每個(gè)連接點(diǎn)關(guān)聯(lián)的圖形、連接點(diǎn)的位置都可以用程序訪問,也可以用程序設(shè)置兩個(gè)圖形相連接。可以編寫圖形拓?fù)浞治龀绦颉?/p>
16. 多種箭頭風(fēng)格,并可以任意自定義箭頭
內(nèi)置常用幾種箭頭風(fēng)格,滿足大多數(shù)時(shí)候的需要,如果箭頭不夠,可以修改箭頭庫文件(arrows.tbl),實(shí)際上,箭頭庫也是圖形文件,也可以在 Visual Graph 中進(jìn)行編輯。
17. 自定義線型
線條有多種表現(xiàn)形式,可以修改每種線型的具體形狀。
18. 自定義圖案
圖形填充圖案全都可以自行設(shè)計(jì),還有透明圖案、過度填充圖案等,能夠滿足絕大多數(shù)需要,圖案可以自定義樣式。
19. 支持多種類型定位,但優(yōu)先連接關(guān)系定位
圖形可以方便定位,例如繪制線條時(shí),可以把頂點(diǎn)定位到柵格、其他線的頂點(diǎn)、中點(diǎn)、交點(diǎn)等。
20. 支持圖形多種對(duì)齊方案
21. 圖形支持任意角度自由旋轉(zhuǎn),旋轉(zhuǎn)中不改變圖形其它邏輯
任何圖形元件都可以任意角度自由旋轉(zhuǎn)。旋轉(zhuǎn)后,圖形的邏輯關(guān)系不變,運(yùn)算程序能夠正常運(yùn)行。例如棒圖、餅圖、曲線圖、甚至頁面上所有圖形一起都可以隨意旋轉(zhuǎn)而正常工作。過渡填充、圖片、箭頭、文字光標(biāo)自動(dòng)旋轉(zhuǎn)。
22. 元件可以添加填充色、線色、線條形狀等多種自定義屬性
元件內(nèi)部沒有定義相關(guān)屬性的基本圖形可以繼承這些屬性。
23. 自定義字符串屬性
當(dāng)程序員想給圖形添加一些特定的數(shù)據(jù)時(shí),可以給這個(gè)圖形隨便增加自定義屬性,對(duì)自定義屬性的讀寫、存儲(chǔ)等操作和對(duì)固有屬性沒有區(qū)別。
24. 自定義任何屬性,類似流行編程語言中“屬性”的概念
把一些流行編程語言( Delphi 、 C# 等)的“屬性”概念引入到 Visual Graph 中,從而使得系統(tǒng)變成了一種似乎無所不能的面向?qū)ο缶幊陶Z言。你只需要簡單地修改一個(gè)屬性的值,就可以驅(qū)動(dòng)圖形做任何復(fù)雜的變化。
25. 自定義函數(shù)(私有、公有函數(shù))
既然有腳本,就離不開自定義函數(shù),函數(shù)按照作用域的不同,分為私有函數(shù)、公有函數(shù)、引出函數(shù)三種,如果一個(gè)函數(shù)只想被內(nèi)部的其他圖形訪問,可以使用私有函數(shù),如果允許外部圖形訪問,可以使用公有函數(shù),如果這是一個(gè)觸發(fā)事件,則可以使用引出函數(shù)。這些非常符合一般面向?qū)ο缶幊陶Z言的習(xí)慣。函數(shù)與過程的區(qū)別僅在于是否在 return 后面有返回值。函數(shù)參數(shù)沒有顯式的類型,會(huì)根據(jù)調(diào)用者的參數(shù)決定。這樣設(shè)計(jì)的結(jié)果,使得腳本在形式上更加簡潔。
26. 眾多的圖形操作事件,例如在鼠標(biāo)點(diǎn)擊、移動(dòng)、圖形縮放、創(chuàng)建、刪除時(shí)觸發(fā)
每個(gè)圖形都有自己的事件,例如,在運(yùn)行狀態(tài)下,當(dāng)鼠標(biāo)單擊時(shí),會(huì)優(yōu)先執(zhí)行最上面那個(gè)圖形的鼠標(biāo)單擊事件中的腳本程序。圖形創(chuàng)建時(shí)、刪除時(shí)、繪制后、鼠標(biāo)移入移出等都有相應(yīng)的腳本事件。如果程序員只想把 Visual Graph 當(dāng)作一般COM組件使用,也可以利用本身的眾多事件。這兩套事件體系是不一樣的,每個(gè)圖形都有自己的事件,這些事件是 Visual Graph 內(nèi)部規(guī)定的,而 ActiveX 的事件是遵循國際標(biāo)準(zhǔn)接口。
27. 無級(jí)別縮放,比例巨大
圖形任意放大和縮小 ,由于采用浮點(diǎn)數(shù),放大很多倍后,可以精確編輯圖形。當(dāng)圖形縮放的時(shí)候,字體會(huì)縮放,但是線條的寬度可以設(shè)定是否縮放,有的時(shí)候,放大以后要對(duì)細(xì)節(jié)進(jìn)行編輯,應(yīng)該設(shè)定線條寬度禁止縮放,而打印的時(shí)候,則應(yīng)該使用線條寬度縮放選項(xiàng)。
28. 元件允許引用其他圖形
通過修改元件的lib屬性,可以改變?cè)囊脤?duì)象。
29. 包括一個(gè)功能非常齊全的屬性列表控件,這樣對(duì)于圖形程序的開發(fā)就更方便了
只通過一條簡單的命令,就可以把圖形和屬性列表控件聯(lián)系起來,在屬性列表控件中對(duì)圖形進(jìn)行全方位的編輯。這個(gè)屬性列表控件也是一個(gè)圖形文件,用戶熟練以后可自行編輯修改。
30. 支持讀取互聯(lián)網(wǎng)服務(wù)器圖形文件
直接讀取互聯(lián)網(wǎng)上的圖形文件,無需下載。
31. 支持圖形從內(nèi)存讀寫
整個(gè) Visual Graph 文件是 XML 文檔格式,程序員可以把文件存放在數(shù)據(jù)庫中,進(jìn)行讀寫。 每個(gè)圖形也有自己的XML格式,可以單獨(dú)存取。
32. 支持移動(dòng)圖形到屏幕中間,滾動(dòng)屏幕,手抓屏幕滾動(dòng)
有一些有關(guān)屏幕操作的函數(shù),幫助程序員更好地控制畫面顯示的內(nèi)容。
33. 用程序或者腳本繪圖
這也是基本功能,可以用腳本或者其他程序動(dòng)態(tài)生成各種圖形、頁面、單元組、甚至圖形之間的連接關(guān)系。
34. 甚至最基本的圖形繪制也可以自定義
通過修改系統(tǒng)缺省圖庫(library.tbl),繪制最基本的圖形時(shí),都可以設(shè)置其初始狀態(tài)。
35. 圖形鎖定和解鎖,按住 ALT 鍵可以操作加鎖的圖形
圖形基本功能,鎖定后的圖形,不能簡單地用鼠標(biāo)選中和編輯。
36. 支持自定義提示信息
每個(gè)圖形(包括頁面)都有一個(gè) Hint (提示)屬性,設(shè)置這個(gè)值,當(dāng)鼠標(biāo)在圖形上面停留一會(huì),在鼠標(biāo)附近就會(huì)出現(xiàn)一個(gè)小窗口顯示這個(gè)字符串。提示信息的顯示和隱藏時(shí)間間隔均可以通過系統(tǒng)參數(shù)設(shè)置,提示信息窗口允許自行繪制。
37. 元件自定義連接點(diǎn)
元件可以添加任意多個(gè)連接點(diǎn)。
38. 元件自定義控制點(diǎn)
在元件設(shè)計(jì)時(shí),可以放置任意多個(gè)控制點(diǎn),將來這些控制點(diǎn)將允許用戶鼠標(biāo)拖動(dòng)操作,當(dāng)鼠標(biāo)拖動(dòng)操作的時(shí)候,會(huì)執(zhí)行 OnNodeChange 事件,在元件內(nèi)寫好這個(gè)事件的腳本程序,元件就可以按照你的意愿變化形狀了。如果一個(gè)元件定義了兩個(gè)以上的控制點(diǎn),并且這些控制點(diǎn)又同時(shí)是連接點(diǎn)時(shí),這個(gè)元件將來不會(huì)出現(xiàn)選擇框。
39. 支持各種儀器儀表、刀閘、開關(guān)、信號(hào)燈、曲線圖、棒圖、餅圖開發(fā)
給這些設(shè)備圖形添加自定義屬性,儀器儀表可以添加最小值、最大值、當(dāng)前指針值等屬性,改變這些屬性,儀器儀表就會(huì)發(fā)生變化(例如指針旋轉(zhuǎn))。刀閘、開關(guān)可以添加開關(guān)屬性,改變這個(gè)屬性,開關(guān)的樣式也發(fā)生相應(yīng)的變化。信號(hào)燈可以添加當(dāng)前狀態(tài)屬性,允許根據(jù)屬性不同,信號(hào)燈的狀態(tài)發(fā)生變化。這些在其他圖形軟件里面非得使用插件才能實(shí)現(xiàn)的功能,在 Visual Graph 看來,卻是如此簡單。
40. 支持各種按鈕的開發(fā)
由于圖形有鼠標(biāo)左鍵按下和放開的事件,只要在鼠標(biāo)按下的事件里讓圖形產(chǎn)生一個(gè)變化,在鼠標(biāo)放開時(shí)恢復(fù)這個(gè)變化就可以了。
41. 元件的鏈接和嵌入
如果圖上有大量相同的圖形(比如很多刀閘),圖形采取鏈接方式比較好,這樣能夠大大減少文件的體積,更快地載入文件。圖庫改變后,下次載入圖形文件也相應(yīng)會(huì)反映這種改變。
42. 允許混合編程,互相調(diào)用,不僅您的程序可以操控 Visual Graph 的一切技術(shù),而且 Visual Graph 的腳本可以調(diào)用執(zhí)行您的任何程序
在 Visual Graph 中出現(xiàn)的任何圖形、任何屬性、任何函數(shù)都是可以在自己程序中訪問的。
另外, Visual Graph 可以訪問程序員自己語言中的函數(shù),這是一個(gè)非常特殊而且重要的功能,因?yàn)楝F(xiàn)有的腳本語言不可能窮盡所有的功能,事實(shí)上,它是一種非常簡單的語言,所含功能性的函數(shù)很少,因此,在某些情況下,你可能需要擴(kuò)充這種腳本語言的功能。例如日期訪問、數(shù)據(jù)庫訪問等等。使你不用擔(dān)心將來功能不夠怎么辦的問題。
43. 支持?jǐn)U充功能函數(shù)
Visual Graph 可以調(diào)用外部函數(shù)庫中的函數(shù),例如 Windows API 函數(shù)等。
44. 可以制作對(duì)話盒、子窗口、彈出式窗口、菜單等窗口元素。
在很多情況下,用 Visual Graph 做這些窗口元素比起用編譯語言做有更多的優(yōu)勢(shì),因?yàn)樗皇蔷幾g語言做死的,而是外置的,易于維護(hù)修改的,這樣,以后可以輕而易舉地變換軟件的功能。可以制作基礎(chǔ)控件,例如菜單、工具欄、按鈕、列表框、下拉框、檢查框等 windows 界面元素。
44. 提供圖形的全部 COM 接口
COM 接口能夠方便程序的編寫,接口屬性和函數(shù)在基本形態(tài)上和 Visual Graph 內(nèi)部的腳本語言完全一致,這樣有利于學(xué)習(xí)和記憶。只可能因所用編程語言的不同,而有些形式上的改變,例如在 VC 中,沒有屬性這個(gè)概念,所有的屬性都被變成 Get 和 Set 函數(shù)了。
在本站下載最新安裝包,解壓縮之后,點(diǎn)擊exe程序,即可使用軟件
1、vg.exe是集成開發(fā)環(huán)境,運(yùn)行它就可以繪制圖形,設(shè)計(jì)圖庫,編寫腳本,調(diào)試運(yùn)行。需要dat目錄下的一些文件。
2、vg.chm是Visual Graph幫助系統(tǒng)。
3、vg.dll是核心COM組件,需要運(yùn)行"Register.bat"注冊(cè)到計(jì)算機(jī)里面,該程序不影響vg.exe,需要dat目錄下的一些文件。
4、ext.dll是擴(kuò)展函數(shù)庫,供腳本語言使用。
5、consts.bas是系統(tǒng)啟動(dòng)時(shí)執(zhí)行的腳本程序,定義了許多公共變量。
6、vgplayer.exe是Visual Graph圖形文件瀏覽軟件,需要dat目錄下的一些文件。
7、lib目錄里面是一些元件庫的例子(請(qǐng)自行設(shè)計(jì)開發(fā)其他元件庫)。
8、demo目錄下是Visual Graph各種圖形例子。
9、dat目錄下的文件是vg.exe的界面,全部都是.tbl圖形文件格式,初學(xué)者切勿修改!否則可能會(huì)出現(xiàn)各種問題。
如何使用asp.net開發(fā)?
Visual Graph系統(tǒng)是ActiveX開發(fā)組件,必須運(yùn)行在客戶端,而不是服務(wù)器端,不能用asp.net開發(fā)客戶端的東西。通常的流程是,涉及圖形的客戶端部分用HTML網(wǎng)頁的形式制作。用JavaScript操作畫面上的圖形,并和后臺(tái)進(jìn)行數(shù)據(jù)傳輸。
支持?jǐn)?shù)據(jù)庫么?
Visual Graph并不直接支持?jǐn)?shù)據(jù)庫,如果需要把數(shù)據(jù)庫中的數(shù)據(jù)關(guān)聯(lián)到圖形屬性上,需要首先從數(shù)據(jù)庫中取出數(shù)據(jù),然后再調(diào)用Visual Graph的COM接口,把數(shù)據(jù)傳給圖形。這種做法和任何編程語言的控件思路一樣。例如,畫面上有一個(gè)按鈕Button1,我們要把數(shù)據(jù)庫中的數(shù)據(jù)關(guān)聯(lián)到這個(gè)按鈕,需要首先從數(shù)據(jù)庫中取出數(shù)據(jù),然后給Button1.Caption賦值。比如:Button1.Caption = "Hello"。具體語法是:
vgctrl1.vg.ActiveSheet.Execute( "Button1.Caption='Hello'" );
或:
vgctrl1.vg.ActiveSheet.UnitByName( "Button1" ).SetPropertyValue( "Caption", "Hello" );
如果需要把圖形上的數(shù)據(jù)傳給數(shù)據(jù)庫,首先用Visual Graph的COM接口把圖形屬性返回,然后再存儲(chǔ)到數(shù)據(jù)庫。
下面的語法可以把按鈕的Caption屬性返回來:
s = vgctrl1.vg.ActiveSheet.Execute( "return Button1.Caption" );
或:
s = vgctrl1.vg.ActiveSheet.UnitByName( "Button1" ).GetPropertyValue( "Caption" );
在web開發(fā)時(shí),工具欄上加不了Visual Graph ActiveX的圖標(biāo)?
Visual Graph ActiveX是在客戶端運(yùn)行的,不是在服務(wù)器端運(yùn)行的,所以不可能放在服務(wù)器端運(yùn)行。
哪些是可用的圖庫?
在bin目錄下只有controls.tbl、menu.tbl、library.tbl三個(gè)圖庫,該目錄下其他文件均不是圖庫。
在VC和Delphi中文字單元無法輸入文字?
需要自己處理一下PreTranslateMessage這個(gè)過程,類似地,在Delphi中需要處理一下CMDialogKey事件,關(guān)于Delphi中處理鍵盤移動(dòng)的例子在下載區(qū)也有源碼例子。其他各種語言或環(huán)境均不存在這些問題。
如何區(qū)別在不同圖形上的點(diǎn)擊,使程序執(zhí)行不同的操作?
在OnClick事件中調(diào)用視圖類的UnitAtCursor函數(shù),根據(jù)返回來的不同圖形對(duì)象執(zhí)行不同的操作。以下是各種編程語言中的例子:
Visual Basic:
dim aunit as IUnit
set aunit = vgctrl1.vg.UnitAtCursor( nothing )
if not ( aunit is nothing ) then
MsgBox aunit.Name
end if
Delphi:
var
aunit : IUnit;
begin
aunit := vgctrl1.vg.UnitAtCursor( nil );
if ( aunit <> nil ) then
ShowMessage( aunit.Name );
end if
end;
Visual C++:
CUnit aunit = vgctrl1.GetVg().UnitAtCursor( 0 );
if ( aunit )
ShowMessage( aunit.GetName() );
網(wǎng)友評(píng)論