




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章VB環(huán)境下的MO和系統(tǒng)界面設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.了解組件GIS開發(fā)環(huán)境的構(gòu)建,相關(guān)軟件的安裝。2.利用VB進(jìn)行“石河子****信息系統(tǒng)”歡迎界面和操作界面的設(shè)計(jì)。二、實(shí)驗(yàn)準(zhǔn)備完成時(shí)間:6學(xué)時(shí)預(yù)備知識(shí):實(shí)驗(yàn)的操作系統(tǒng)環(huán)境為Windows2000/XP,要基于MapObjects進(jìn)行應(yīng)用開發(fā),系統(tǒng)中需要安裝有:VisualBasic6.0及補(bǔ)丁ServicePack6;GIS組件――MapObjects2.x;圖3.1部件對(duì)話框?qū)嶒?yàn)數(shù)據(jù)圖3.1部件對(duì)話框三、實(shí)驗(yàn)步驟及方法1.VB環(huán)境下運(yùn)行MO(1)裝入MapObjects控件①安裝MapObjects2.2及VisualBasic6.0;②運(yùn)行VisualBasic,從對(duì)話框中選擇NewStandardEXE,創(chuàng)建一個(gè)新的應(yīng)用程序。右擊工具箱,然后選擇彈出菜單中的“部件”(或Ctrl+T組合鍵),打開對(duì)話框(圖3.1),從控件列表中找到并勾選MapObjects2.x,此時(shí)工具箱出現(xiàn)新的控件(圖3.2);MapObjectsMapObjects地圖控件圖3.2顯示在工具箱中的MapObjects地圖控件③添加地圖控件(也可雙擊添加),在地圖控件上點(diǎn)右鍵,選擇彈出菜單“特性”—Add,添加數(shù)據(jù)—“green.Shp”(圖3.3),并可設(shè)置圖層的屬性(圖3.4)。如果操作正確,運(yùn)行程序后,此圖層應(yīng)該能夠顯示在窗體的Map控件上。圖3.3屬性頁對(duì)話框圖3.3屬性頁對(duì)話框圖3.4圖層屬性對(duì)話框圖3.4圖層屬性對(duì)話框2.“石河子****信息系統(tǒng)”歡迎界面的設(shè)計(jì)(1)包括系統(tǒng)名稱、開發(fā)者、進(jìn)入、退出按鍵和歡迎示意(圖3.5);(2)用戶名和密碼設(shè)置(圖3.6);(3)簡(jiǎn)潔美觀、操作簡(jiǎn)單;圖3.5歡迎界面圖3.5歡迎界面圖3.6用戶名、密碼設(shè)置及歡迎示意圖3.6用戶名、密碼設(shè)置及歡迎示意3.操作界面的設(shè)計(jì)和布局:簡(jiǎn)潔美觀、操作簡(jiǎn)單(1)界面布局:包括系統(tǒng)名稱、菜單欄、工具欄、地圖顯示區(qū)域、縮略圖區(qū)域、圖層顯示區(qū)域和可查數(shù)據(jù)顯示區(qū)域,其中地圖顯示區(qū)域占較大顯示空間(圖3.7);圖3.7系統(tǒng)操作界面圖3.7系統(tǒng)操作界面圖3.8菜單編輯器(2)菜單欄設(shè)計(jì):圖3.8菜單編輯器【工具】-【菜單編輯器】,設(shè)計(jì)菜單欄的主菜單及下拉菜單(圖3.8)(3)彈出式菜單設(shè)計(jì):PopupMenu語法:
object.PopupMenumenuname,flags,x,y,boldcommand
描述:object,可選。一個(gè)對(duì)象表達(dá)式,其值為“應(yīng)用于”列表中的一個(gè)對(duì)象。如果省略object,則帶有焦點(diǎn)的Form對(duì)象缺省為object。
Menuname
必需的。要顯示的彈出式菜單名。指定的菜單必須含有至少一個(gè)子菜單。
Flags
可選的。一個(gè)數(shù)值或常數(shù),按照下列設(shè)置中的描述,用以指定彈出式菜單的位置和行為。設(shè)置值有:
vbPopupMenuLeftAlign0(缺省值),彈出式菜單的左邊定位于x;vbPopupMenuCenterAlign4,彈出式菜單的于x居中位;vbPopupMenuRightAlign
8
彈出式菜單的右邊定位于
x。X
可選的。指定顯示彈出式菜單的
x
坐標(biāo)。如果該參數(shù)省略,則使用鼠標(biāo)的坐標(biāo)。
Y
可選的。指定顯示彈出式菜單的
y
坐標(biāo)。如果該參數(shù)省略,則使用鼠標(biāo)的坐標(biāo)。boldcommand
可選的。指定彈出式菜單中的菜單控件的名字,用以顯示其黑體正文標(biāo)題。如果該參數(shù)省略,則彈出式菜單中沒有以黑體字出現(xiàn)的控件。①先要菜單編輯器中編輯一菜單,然后將其visible屬性設(shè)為false或true②再用popupmenu調(diào)用此菜單,代碼如下:
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
PopupMenu菜單名稱
End
Sub(4)工具條設(shè)計(jì)①右擊工具箱,然后選擇彈出菜單中的“部件”(或Ctrl+T組合鍵),打開對(duì)話框(圖3.1),從控件列表中找到并勾選MicrosoftWindowsCommonControl6.0,此時(shí)工具箱出現(xiàn)新的控件②點(diǎn)擊,在窗口新建一個(gè)ImageList1,在可編輯狀態(tài)下(選中狀態(tài))右擊—“屬性”(圖3.9),設(shè)計(jì)好工具條上各圖標(biāo)的順序,然后點(diǎn)擊“插入圖片”,從文件夾“圖片—圖標(biāo)”中選擇相應(yīng)圖標(biāo)依次插入,同時(shí)記住每個(gè)圖片的索引,作為工具欄中各工具按鈕功能圖像的索引;圖3.9圖3.9ImageList屬性對(duì)話框圖3.10Toolbar屬性“通用”對(duì)話框,設(shè)置圖像列表圖3.10Toolbar屬性“通用”對(duì)話框,設(shè)置圖像列表③點(diǎn)擊,在窗口新建一個(gè)Toolbar,在可編輯狀態(tài)下(選中狀態(tài))右擊—“屬性”(圖3.10),【通用】—【圖像列表】—【ImageList1】,將上一步已經(jīng)定義的圖像列表引入工具條;④選擇“屬性”—【按鈕】,按照ImageList1中每個(gè)圖片的索引設(shè)置“關(guān)鍵字”、“工具提示文本”等屬性(圖3.11);ImageList1中圖片的索引號(hào)ImageList1中圖片的索引號(hào)圖3.11Toolbar屬性“按鈕”對(duì)話框,按圖像列表的索引設(shè)置圖片顯示編程實(shí)現(xiàn)按鈕功能的按鈕索引號(hào)以上各步完成后,工具條上會(huì)出現(xiàn)相應(yīng)的功能圖標(biāo)。這時(shí)僅僅完成了工具條的外觀設(shè)置,其具體功能的實(shí)現(xiàn)還需要進(jìn)一步的編程實(shí)現(xiàn);⑤編寫代碼PrivateSubToolbar1_ButtonClick(ByValButtonAsButton)SelectCaseButton.IndexCase1<要執(zhí)行的代碼>Case2<要執(zhí)行的代碼>……EndSelectEndSub(5)可查數(shù)據(jù)顯示區(qū)域和樹形數(shù)據(jù)清單①點(diǎn)擊Frame,建立可查數(shù)據(jù)顯示區(qū)域,Caption—“數(shù)據(jù)”;②點(diǎn)擊,在Frame中建立可查數(shù)據(jù)的樹形表(圖3.12);圖3.12可查數(shù)據(jù)的樹形表圖3.12可查數(shù)據(jù)的樹形表樹形圖(Treeview)用于顯示按照樹形結(jié)構(gòu)進(jìn)行組織的數(shù)據(jù),這在實(shí)際當(dāng)中用途廣泛,一般用于顯示文檔標(biāo)題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。如計(jì)算機(jī)中的文件系統(tǒng)(Windows95中的資源管理器)、企業(yè)或公司的組成結(jié)構(gòu)等等。Treeview控件中一個(gè)樹形圖由節(jié)點(diǎn)(TreeNode)和連接線組成。TtreeNode是Treeview的基本組成單元。一個(gè)樹的節(jié)點(diǎn)又包含文本(Text)和數(shù)據(jù)(Data)。Text為String類,Data則為無定形指針(UntypedPointer),可以指向一個(gè)與節(jié)點(diǎn)相聯(lián)系的數(shù)據(jù)結(jié)構(gòu)。每一個(gè)節(jié)點(diǎn)下子節(jié)點(diǎn)形成這一節(jié)點(diǎn)的Items屬性,當(dāng)前節(jié)點(diǎn)有一個(gè)唯一的Index(TreeNode的Index屬性),用于說明子節(jié)點(diǎn)在Items中的位置,每一個(gè)節(jié)點(diǎn)下的子節(jié)點(diǎn)是順序編號(hào)的,第一個(gè)是0,第二個(gè)是1,依次類推。用IndexOf方法獲得子節(jié)點(diǎn)的順序,絕對(duì)順序(AbsoluteIndex)則是指從Treeview第一個(gè)項(xiàng)開始的順序值,第一個(gè)是0,如此推下去。Item屬性則根據(jù)Index的值返回當(dāng)前節(jié)點(diǎn)的第Index個(gè)子節(jié)點(diǎn)。Count則表明屬于此項(xiàng)的所有子節(jié)點(diǎn)的數(shù)量。用MoveTo方法將Item由一個(gè)位置移到另一個(gè)位置。Expanded屬性表明是否所有的子項(xiàng)都全部展開(包括子項(xiàng)的子項(xiàng)),為True表示全部展開。IsVisible屬性表明一個(gè)項(xiàng)是否在樹中能被看到,如果樹全部展開那么這個(gè)Item是肯定可以被看到。HasChildren屬性表明一個(gè)項(xiàng)是否有子項(xiàng)。GetFirstChild,GetLastChild,GetPrevChild,andGetNextChild分別返回當(dāng)前項(xiàng)子項(xiàng)的第一個(gè)、最后一個(gè)和前一個(gè)、后一個(gè)項(xiàng)。GetNextSiblingandGetPrevSibling則返回在同一Level下的下一個(gè)和上一個(gè)項(xiàng)。GetNextVisibleandGetPrevVisible則返回能看得到的下一個(gè)和上一個(gè)項(xiàng)。如果一個(gè)節(jié)點(diǎn)有Parent,則HasAsParent方法返回True.Parent為當(dāng)前項(xiàng)的父項(xiàng)。Focused屬性確定焦點(diǎn)是否落在此節(jié)點(diǎn)上,被Focus時(shí)會(huì)一個(gè)標(biāo)準(zhǔn)的方框圍住。很顯然,只有一個(gè)節(jié)點(diǎn)會(huì)被聚焦。Selected屬性表明一個(gè)節(jié)點(diǎn)是否被選中,同樣只有一個(gè)節(jié)點(diǎn)會(huì)被選中。DropTarget屬性表明節(jié)點(diǎn)在拖動(dòng)操作中是源還是目標(biāo)。TreeView控件顯示Node對(duì)象的分層列表,每個(gè)Node對(duì)象均由一個(gè)標(biāo)簽和一個(gè)可選的位圖組成。TreeView一般用于顯示文檔標(biāo)題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。創(chuàng)建了TreeView控件之后,可以通過設(shè)置屬性與調(diào)用方法對(duì)各Node對(duì)象進(jìn)行操作,這些操作包括添加、刪除、對(duì)齊和其它操作。可以編程展開與折回Node對(duì)象來顯示或隱藏所有子節(jié)點(diǎn)。Collapse、Expand和NodeClick三個(gè)事件也提供編程功能。TreeView控件常用基本屬性介紹:appearance屬性:設(shè)置空間是否以3D效果顯示,詳細(xì)的外觀設(shè)置可以轉(zhuǎn)到此控件的“自定義”頁面進(jìn)行設(shè)置checkboxes屬性:在樹的每一項(xiàng)的旁邊,是否顯示一個(gè)復(fù)選框,類似checkbox控件的作用;hottracking屬性:當(dāng)鼠標(biāo)指針經(jīng)過某個(gè)條目時(shí),這些條目是否突出顯示,類似網(wǎng)頁的超鏈接效果;labeledit屬性:決定用戶是否能編輯控件中列出的項(xiàng)目,此項(xiàng)如果不想被改變,可將屬性值設(shè)置為1;linestyle屬性:設(shè)置列出的每項(xiàng)Node之間的行樣式,即,如果為1,則當(dāng)前項(xiàng)下還有子項(xiàng)的時(shí)候,它的前面會(huì)顯示“+”號(hào),如果值為2,則不顯示“+”singlesel屬性:設(shè)置在樹中選擇新的條目時(shí),是否展開此條目并收攏前一個(gè)條目,即,設(shè)置為True時(shí),并且當(dāng)前選中的條目有子項(xiàng)的時(shí)候,會(huì)把子項(xiàng)展開,并將原來你選中的條目收攏,這一點(diǎn)很實(shí)用。style屬性:設(shè)置Treeview控件的每個(gè)列表的組成方式,比如“圖片”+“文本”方式,等等,這樣你就可以把Treeview弄得更好看一些。注:0僅為文本。1圖象和文本。2+/-號(hào)和文本。3+/-號(hào),圖象和文本。4直線和文本。5直線,圖象和文本。6直線,+/-號(hào)和文本。7(缺省)直線,+/-號(hào),圖象和文本。Sorted屬性:返回或設(shè)置一值,此值確定Node對(duì)象的子節(jié)點(diǎn)是否按字母順序排列;返回或設(shè)置一值,此值確定TreeView控件的根層節(jié)點(diǎn)是否按字母順序排列。③設(shè)置各Node對(duì)象的位圖和圖標(biāo):在可編輯狀態(tài)下(選中狀態(tài))右擊—“屬性”,【通用】—【圖像列表】—【ImageList2】,將已經(jīng)定義的圖像列表ImageList2引入TreeView(圖3.13);圖3.13圖3.13TreeView控件的Style屬性設(shè)置TreeView控件使用由ImageList屬性指定的ImageList控件,來存儲(chǔ)顯示于Node對(duì)象的位圖和圖標(biāo)。任何時(shí)刻,TreeView控件只能使用一個(gè)ImageList。這意味著,當(dāng)TreeView控件的Style屬性被設(shè)置成顯示圖象的樣式時(shí),TreeView控件中每一項(xiàng)的旁邊都有一個(gè)同樣大小的圖象(圖3.13)。④Treeview控件添加條目和子條目:通常使用ADD方法,其語法如下:Nodes.Add(relative,[relationship][,key][,text][,image][,selectedimage])注:relative可選,已存在的Node對(duì)象的索引號(hào)或鍵值,新節(jié)點(diǎn)與已存在的節(jié)點(diǎn)間的關(guān)系,可在下一個(gè)參數(shù)relationship中找到;relationship可選,指定的Node對(duì)象的相對(duì)位置,如設(shè)置值中所述;key可選的,唯一的字符串,可用于用Item方法檢索Node;text必需的,表示在Node中出現(xiàn)的字符串;image可選,在關(guān)聯(lián)的ImageList控件中的圖象的索引;selectedimage可選,在關(guān)聯(lián)的ImageList控件中的圖象的索引,在Node被選中時(shí)顯示。其中:relationship參數(shù)是通過關(guān)系節(jié)點(diǎn)參數(shù)與新節(jié)點(diǎn)連接的另一個(gè)節(jié)點(diǎn);參數(shù)可能是以下情況:1-tvwlast
該節(jié)點(diǎn)置于所有其他的在relative中被命名的同一級(jí)別的節(jié)點(diǎn)的后面2-tvwNext
該節(jié)點(diǎn)置于在relative中被命名節(jié)點(diǎn)的后面3-tvwPrevius該節(jié)點(diǎn)置于在relative中被命名的節(jié)點(diǎn)的前面4-tvwChild
該節(jié)點(diǎn)成為在relative中被命名的節(jié)點(diǎn)的的子節(jié)點(diǎn)詳細(xì)語句可參考下列程序代碼:創(chuàng)建父節(jié)點(diǎn)條目:TreeView.Nodes.Add,,"Father","Father"創(chuàng)建此節(jié)點(diǎn)的子節(jié)點(diǎn)條目:TreeView.Nodes.Add"Father",tvwChild,,"Child"注意創(chuàng)建子節(jié)點(diǎn)的時(shí)候,relative參數(shù)為父節(jié)點(diǎn)的文本"Father"示例程序:'設(shè)置樹形數(shù)據(jù)清單TreeView1.Nodes.Add,,"石河子旅游管理信息系統(tǒng)","石河子旅游管理信息系統(tǒng)"TreeView1.Nodes.Add"石河子旅游管理信息系統(tǒng)",tvwChild,"專題圖","專題圖"TreeView1.Nodes.Add"專題圖",tvwChild,"行政區(qū)劃","行政區(qū)劃"TreeView1.Nodes.Add"專題圖",tvwChild,"土地利用","土地利用"TreeView1.Nodes.Add"專題圖",tvwChild,"城市綠地","城市綠地"TreeView1.Nodes.Add"專題圖",tvwChild,"旅游景點(diǎn)","旅游景點(diǎn)"TreeView1.Nodes.Add"專題圖",tvwChild,"公交線路","公交線路"TreeView1.Nodes.Add"專題圖",tvwChild,"賓館旅店","賓館旅店"TreeView1.Nodes.Add"專題圖",tvwChild,"商場(chǎng)超市","商場(chǎng)超市"TreeView1.Nodes("石河子旅游管理信息系統(tǒng)").Expanded=True'設(shè)置父節(jié)點(diǎn)可展開TreeView1.Nodes("專題圖").Expanded=True設(shè)置并執(zhí)行代碼后,則顯示如圖3.14圖3.14圖3.14Treeview控件添加條目和子條目⑤Treeview控件添加圖像:為節(jié)點(diǎn)插入圖象可參考語句:Treeview.nodes(index).image="圖片名"注:一般從imagelist控件中指定圖象⑥樹形數(shù)據(jù)清單的數(shù)據(jù)調(diào)入節(jié)點(diǎn)條目的單擊click事件,將觸發(fā)NodeClick事件。treeview1.selectitem可以返回選擇的節(jié)點(diǎn)的text值,利用這個(gè)返回值可自定義自己的事件?!纠奎c(diǎn)擊相應(yīng)的結(jié)點(diǎn)條目,在地圖控件中添加新的圖層。PrivateSubTreeView1_NodeClick(ByValNodeAsNode)DimgdsAsMapObjects2.GeoDataset'定義地理數(shù)據(jù)集,它代表制圖數(shù)據(jù)并可引用的圖層'定義數(shù)據(jù)連接,它是MO通向地圖數(shù)據(jù)的通道,通過屬性和方法建立與GeoDataset的聯(lián)系DimdcAsNewMapObjects2.DataConnect
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)年會(huì)慶典策劃方案
- 海底兩萬里解讀科幻之旅與冒險(xiǎn)精神
- 小學(xué)生英語啟蒙繪本讀后感
- 《數(shù)學(xué)建模與實(shí)際問題解決:高中數(shù)學(xué)教學(xué)教案》
- 市政設(shè)施維護(hù)保養(yǎng)手冊(cè)
- 簡(jiǎn)明工作流程教程與操作指南
- 企業(yè)員工滿意度調(diào)查分析報(bào)告
- 鄉(xiāng)村農(nóng)田水系生態(tài)修復(fù)項(xiàng)目合作協(xié)議
- 公司聯(lián)合市場(chǎng)推廣協(xié)議
- 品牌授權(quán)合作協(xié)議細(xì)則內(nèi)容
- 《抖音生活服務(wù)服務(wù)商合作手冊(cè)》
- 語文教學(xué)設(shè)計(jì)(教案目標(biāo))
- 工程造價(jià)三級(jí)復(fù)核
- 皮膚性病學(xué)課件:濕疹皮炎
- 綠化養(yǎng)護(hù)重點(diǎn)難點(diǎn)分析及解決措施
- 一體化學(xué)工服務(wù)平臺(tái)、人事管理系統(tǒng)、科研管理系統(tǒng)建設(shè)方案
- 市場(chǎng)營(yíng)銷學(xué)課后習(xí)題與答案
- 嚇數(shù)基礎(chǔ)知識(shí)共20
- 常暗之廂(7規(guī)則-簡(jiǎn)體修正)
- 10kV變電所設(shè)備檢修內(nèi)容與周期表
- 井控系統(tǒng)操作維護(hù)與保養(yǎng)規(guī)程
評(píng)論
0/150
提交評(píng)論