版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章VB環(huán)境下的MO和系統(tǒng)界面設(shè)計一、實(shí)驗(yàn)?zāi)康?.了解組件GIS開發(fā)環(huán)境的構(gòu)建,相關(guān)軟件的安裝。2.利用VB進(jìn)行“石河子****信息系統(tǒng)”歡迎界面和操作界面的設(shè)計。二、實(shí)驗(yàn)準(zhǔn)備完成時間:6學(xué)時預(yù)備知識:實(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部件對話框?qū)嶒?yàn)數(shù)據(jù)圖3.1部件對話框三、實(shí)驗(yàn)步驟及方法1.VB環(huán)境下運(yùn)行MO(1)裝入MapObjects控件①安裝MapObjects2.2及VisualBasic6.0;②運(yùn)行VisualBasic,從對話框中選擇NewStandardEXE,創(chuàng)建一個新的應(yīng)用程序。右擊工具箱,然后選擇彈出菜單中的“部件”(或Ctrl+T組合鍵),打開對話框(圖3.1),從控件列表中找到并勾選MapObjects2.x,此時工具箱出現(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屬性頁對話框圖3.3屬性頁對話框圖3.4圖層屬性對話框圖3.4圖層屬性對話框2.“石河子****信息系統(tǒng)”歡迎界面的設(shè)計(1)包括系統(tǒng)名稱、開發(fā)者、進(jìn)入、退出按鍵和歡迎示意(圖3.5);(2)用戶名和密碼設(shè)置(圖3.6);(3)簡潔美觀、操作簡單;圖3.5歡迎界面圖3.5歡迎界面圖3.6用戶名、密碼設(shè)置及歡迎示意圖3.6用戶名、密碼設(shè)置及歡迎示意3.操作界面的設(shè)計和布局:簡潔美觀、操作簡單(1)界面布局:包括系統(tǒng)名稱、菜單欄、工具欄、地圖顯示區(qū)域、縮略圖區(qū)域、圖層顯示區(qū)域和可查數(shù)據(jù)顯示區(qū)域,其中地圖顯示區(qū)域占較大顯示空間(圖3.7);圖3.7系統(tǒng)操作界面圖3.7系統(tǒng)操作界面圖3.8菜單編輯器(2)菜單欄設(shè)計:圖3.8菜單編輯器【工具】-【菜單編輯器】,設(shè)計菜單欄的主菜單及下拉菜單(圖3.8)(3)彈出式菜單設(shè)計:PopupMenu語法:
object.PopupMenumenuname,flags,x,y,boldcommand
描述:object,可選。一個對象表達(dá)式,其值為“應(yīng)用于”列表中的一個對象。如果省略object,則帶有焦點(diǎn)的Form對象缺省為object。
Menuname
必需的。要顯示的彈出式菜單名。指定的菜單必須含有至少一個子菜單。
Flags
可選的。一個數(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è)計①右擊工具箱,然后選擇彈出菜單中的“部件”(或Ctrl+T組合鍵),打開對話框(圖3.1),從控件列表中找到并勾選MicrosoftWindowsCommonControl6.0,此時工具箱出現(xiàn)新的控件②點(diǎn)擊,在窗口新建一個ImageList1,在可編輯狀態(tài)下(選中狀態(tài))右擊—“屬性”(圖3.9),設(shè)計好工具條上各圖標(biāo)的順序,然后點(diǎn)擊“插入圖片”,從文件夾“圖片—圖標(biāo)”中選擇相應(yīng)圖標(biāo)依次插入,同時記住每個圖片的索引,作為工具欄中各工具按鈕功能圖像的索引;圖3.9圖3.9ImageList屬性對話框圖3.10Toolbar屬性“通用”對話框,設(shè)置圖像列表圖3.10Toolbar屬性“通用”對話框,設(shè)置圖像列表③點(diǎn)擊,在窗口新建一個Toolbar,在可編輯狀態(tài)下(選中狀態(tài))右擊—“屬性”(圖3.10),【通用】—【圖像列表】—【ImageList1】,將上一步已經(jīng)定義的圖像列表引入工具條;④選擇“屬性”—【按鈕】,按照ImageList1中每個圖片的索引設(shè)置“關(guān)鍵字”、“工具提示文本”等屬性(圖3.11);ImageList1中圖片的索引號ImageList1中圖片的索引號圖3.11Toolbar屬性“按鈕”對話框,按圖像列表的索引設(shè)置圖片顯示編程實(shí)現(xiàn)按鈕功能的按鈕索引號以上各步完成后,工具條上會出現(xiàn)相應(yīng)的功能圖標(biāo)。這時僅僅完成了工具條的外觀設(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ī)中的文件系統(tǒng)(Windows95中的資源管理器)、企業(yè)或公司的組成結(jié)構(gòu)等等。Treeview控件中一個樹形圖由節(jié)點(diǎn)(TreeNode)和連接線組成。TtreeNode是Treeview的基本組成單元。一個樹的節(jié)點(diǎn)又包含文本(Text)和數(shù)據(jù)(Data)。Text為String類,Data則為無定形指針(UntypedPointer),可以指向一個與節(jié)點(diǎn)相聯(lián)系的數(shù)據(jù)結(jié)構(gòu)。每一個節(jié)點(diǎn)下子節(jié)點(diǎn)形成這一節(jié)點(diǎn)的Items屬性,當(dāng)前節(jié)點(diǎn)有一個唯一的Index(TreeNode的Index屬性),用于說明子節(jié)點(diǎn)在Items中的位置,每一個節(jié)點(diǎn)下的子節(jié)點(diǎn)是順序編號的,第一個是0,第二個是1,依次類推。用IndexOf方法獲得子節(jié)點(diǎn)的順序,絕對順序(AbsoluteIndex)則是指從Treeview第一個項(xiàng)開始的順序值,第一個是0,如此推下去。Item屬性則根據(jù)Index的值返回當(dāng)前節(jié)點(diǎn)的第Index個子節(jié)點(diǎn)。Count則表明屬于此項(xiàng)的所有子節(jié)點(diǎn)的數(shù)量。用MoveTo方法將Item由一個位置移到另一個位置。Expanded屬性表明是否所有的子項(xiàng)都全部展開(包括子項(xiàng)的子項(xiàng)),為True表示全部展開。IsVisible屬性表明一個項(xiàng)是否在樹中能被看到,如果樹全部展開那么這個Item是肯定可以被看到。HasChildren屬性表明一個項(xiàng)是否有子項(xiàng)。GetFirstChild,GetLastChild,GetPrevChild,andGetNextChild分別返回當(dāng)前項(xiàng)子項(xiàng)的第一個、最后一個和前一個、后一個項(xiàng)。GetNextSiblingandGetPrevSibling則返回在同一Level下的下一個和上一個項(xiàng)。GetNextVisibleandGetPrevVisible則返回能看得到的下一個和上一個項(xiàng)。如果一個節(jié)點(diǎn)有Parent,則HasAsParent方法返回True.Parent為當(dāng)前項(xiàng)的父項(xiàng)。Focused屬性確定焦點(diǎn)是否落在此節(jié)點(diǎn)上,被Focus時會一個標(biāo)準(zhǔn)的方框圍住。很顯然,只有一個節(jié)點(diǎn)會被聚焦。Selected屬性表明一個節(jié)點(diǎn)是否被選中,同樣只有一個節(jié)點(diǎn)會被選中。DropTarget屬性表明節(jié)點(diǎn)在拖動操作中是源還是目標(biāo)。TreeView控件顯示Node對象的分層列表,每個Node對象均由一個標(biāo)簽和一個可選的位圖組成。TreeView一般用于顯示文檔標(biāo)題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。創(chuàng)建了TreeView控件之后,可以通過設(shè)置屬性與調(diào)用方法對各Node對象進(jìn)行操作,這些操作包括添加、刪除、對齊和其它操作??梢跃幊陶归_與折回Node對象來顯示或隱藏所有子節(jié)點(diǎn)。Collapse、Expand和NodeClick三個事件也提供編程功能。TreeView控件常用基本屬性介紹:appearance屬性:設(shè)置空間是否以3D效果顯示,詳細(xì)的外觀設(shè)置可以轉(zhuǎn)到此控件的“自定義”頁面進(jìn)行設(shè)置checkboxes屬性:在樹的每一項(xiàng)的旁邊,是否顯示一個復(fù)選框,類似checkbox控件的作用;hottracking屬性:當(dāng)鼠標(biāo)指針經(jīng)過某個條目時,這些條目是否突出顯示,類似網(wǎng)頁的超鏈接效果;labeledit屬性:決定用戶是否能編輯控件中列出的項(xiàng)目,此項(xiàng)如果不想被改變,可將屬性值設(shè)置為1;linestyle屬性:設(shè)置列出的每項(xiàng)Node之間的行樣式,即,如果為1,則當(dāng)前項(xiàng)下還有子項(xiàng)的時候,它的前面會顯示“+”號,如果值為2,則不顯示“+”singlesel屬性:設(shè)置在樹中選擇新的條目時,是否展開此條目并收攏前一個條目,即,設(shè)置為True時,并且當(dāng)前選中的條目有子項(xiàng)的時候,會把子項(xiàng)展開,并將原來你選中的條目收攏,這一點(diǎn)很實(shí)用。style屬性:設(shè)置Treeview控件的每個列表的組成方式,比如“圖片”+“文本”方式,等等,這樣你就可以把Treeview弄得更好看一些。注:0僅為文本。1圖象和文本。2+/-號和文本。3+/-號,圖象和文本。4直線和文本。5直線,圖象和文本。6直線,+/-號和文本。7(缺?。┲本€,+/-號,圖象和文本。Sorted屬性:返回或設(shè)置一值,此值確定Node對象的子節(jié)點(diǎn)是否按字母順序排列;返回或設(shè)置一值,此值確定TreeView控件的根層節(jié)點(diǎn)是否按字母順序排列。③設(shè)置各Node對象的位圖和圖標(biāo):在可編輯狀態(tài)下(選中狀態(tài))右擊—“屬性”,【通用】—【圖像列表】—【ImageList2】,將已經(jīng)定義的圖像列表ImageList2引入TreeView(圖3.13);圖3.13圖3.13TreeView控件的Style屬性設(shè)置TreeView控件使用由ImageList屬性指定的ImageList控件,來存儲顯示于Node對象的位圖和圖標(biāo)。任何時刻,TreeView控件只能使用一個ImageList。這意味著,當(dāng)TreeView控件的Style屬性被設(shè)置成顯示圖象的樣式時,TreeView控件中每一項(xiàng)的旁邊都有一個同樣大小的圖象(圖3.13)。④Treeview控件添加條目和子條目:通常使用ADD方法,其語法如下:Nodes.Add(relative,[relationship][,key][,text][,image][,selectedimage])注:relative可選,已存在的Node對象的索引號或鍵值,新節(jié)點(diǎn)與已存在的節(jié)點(diǎn)間的關(guān)系,可在下一個參數(shù)relationship中找到;relationship可選,指定的Node對象的相對位置,如設(shè)置值中所述;key可選的,唯一的字符串,可用于用Item方法檢索Node;text必需的,表示在Node中出現(xiàn)的字符串;image可選,在關(guān)聯(lián)的ImageList控件中的圖象的索引;selectedimage可選,在關(guān)聯(lián)的ImageList控件中的圖象的索引,在Node被選中時顯示。其中:relationship參數(shù)是通過關(guān)系節(jié)點(diǎn)參數(shù)與新節(jié)點(diǎn)連接的另一個節(jié)點(diǎn);參數(shù)可能是以下情況:1-tvwlast
該節(jié)點(diǎn)置于所有其他的在relative中被命名的同一級別的節(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)的時候,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,"商場超市","商場超市"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值,利用這個返回值可自定義自己的事件?!纠奎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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通遼 耕地合同
- 天車工續(xù)簽合同述職報告
- 2025年山東貨運(yùn)從業(yè)資格考試技巧和方法
- 2025年東營貨運(yùn)上崗證考試題庫
- 《欣賞高山流水》課件
- 《高血壓的診治進(jìn)展》課件
- 商業(yè)中心泳池翻新協(xié)議
- 合同執(zhí)行監(jiān)控工具
- 信息安全協(xié)議樣本
- 污水處理廠擴(kuò)建臨時圍墻施工協(xié)議
- 2023年注冊城鄉(xiāng)規(guī)劃師考試:城鄉(xiāng)規(guī)劃相關(guān)知識歷年真題匯編(共388題)
- 2024年小區(qū)居民活動中心建設(shè)實(shí)施方案
- 工地柴油供油三方合同范本
- (工作計劃)非物質(zhì)文化遺產(chǎn)保護(hù)方案
- 藝術(shù)概論智慧樹知到答案2024年海南師范大學(xué)
- 中國蠶絲綢文化智慧樹知到答案2024年浙江大學(xué)
- 2024年貴州事業(yè)單位真題
- 困難或解決堅持不懈的作文800字
- 人教版《勞動教育》五上 勞動項(xiàng)目五《設(shè)計制作海報》教學(xué)設(shè)計
- 七年級道法上冊第一學(xué)期期末綜合測試卷(人教版 2024年秋)
- 預(yù)應(yīng)力混凝土管樁(L21G404)
評論
0/150
提交評論