hillyspring
銀牌會員
發(fā)短消息
關(guān)注Ta
積分 3152
帖子 435
威望 5490 個
禮品券 406 個
專家指數(shù) 563
注冊 2006-5-9 專業(yè)方向
2G4G優(yōu)化
回答問題數(shù) 0
回答被采納數(shù) 0
回答采納率 0%
|
大
中
小
發(fā)表于 2011-11-28 19:51:53
只看樓主
|
標(biāo)準(zhǔn)對話框
對話框也是用戶界面的重要元素,MapBasic提供了幾種不同的語句和函數(shù)用以為你的應(yīng)用程序在必要時創(chuàng)建對話框。
1.顯示信息對話框
使用Note語句可以顯示一個帶有一條信息和一個“確認(rèn)”按鈕的簡單對話框。例如下例所示(結(jié)果見圖):
Note
“ To display a message”
[attach]207123[/attach]
顯示信息對話框使用實例
2.詢問對話框
用Ask()函數(shù)可以顯示一個帶有一條提示信息和兩個按鈕的對話柜。這兩個按鈕一般
一個是OK按鈕而另一個是Cancel按鈕,但用戶可以改變,請看下面的例子及其運行結(jié)果(見圖):
.....
Dim check_a
As
Logical
Check_a = Ask(“ 想要繼續(xù)嗎?” , “ 是” , “ 否” )
Ask()函數(shù)有三個參數(shù), 第一個參數(shù)是一條提示信息,第二個和第三個參數(shù)是用戶為
OK按鈕及Cancel按鈕取的名字, 這兩個按鈕名,最終將顯示在對話框的兩個按鈕上。若用戶選擇了OK按鈕則Ask()函數(shù)返回TRUE值,反之若用戶選擇Cancsl按鈕則該函數(shù)返回FALSE值。
[attach]207124[/attach]
詢問對話框使用實例
3.選擇文件對話框
使用FileOpenDly()函數(shù)可以顯示一個標(biāo)準(zhǔn)的打開文件對話框。如果用戶選擇了一個
文件,則函數(shù)返回被選擇的文件的文件名;如果用戶取消了對話框,則返回一個空串。
FileOpenDly0函數(shù)的語法如下:
FileOpenDly(path, filename, filetype, prompt)
其中,path為文件的路徑,filename是指文件名,filetype是文件擴展名,prompt是對話柜頂部的提示,這四個參數(shù)均為字符串值,例如(結(jié)果見圖):
S_filename = FileOpenDly(“ TAB” , “ 打開表” )
[attach]207125[/attach]
圖
選擇文件對話框使用實例
Dim s_filename As String
s_filename=FileOpenDlg("","","TAB","Open Table")
----------------------------------------------------
到此為止我們對對話框的基本情況已經(jīng)介紹完了,那么接下來開始我們今天的編程任務(wù)了。
我們今天就開始熟悉各種對話框,
為了鞏固昨天的成果的,我們先在菜單欄里加入三個新的子項,
信息對話框,點擊時顯示信息對話框
詢問對話框,點擊時顯示詢問對話框
選擇文件對話框。點擊時顯示選擇文件對話框
然后再添加三個進(jìn)程, 每當(dāng)點擊相關(guān)子項時,就調(diào)用相應(yīng)的進(jìn)程,顯示相應(yīng)的對話框。
SubMain
alter menu bar add
"NSN"
create menu "NSN" as
"Create Text Boxes..." + Chr$(9) + "shift-Z /W#z",
"(Close TextBox",
"&About TextBox" Callingnote,
"(-",
"信息對話框" Callingnote,
"詢問對話框" Callingask,
"選擇文件對話框" Callingchoose
End Sub
代碼如上, 點擊信息對話框調(diào)用note過程,點擊詢問對話框時調(diào)用ask過程,依次類推。
NOTE,ASK和CHOOSE,使我們自己自定義的過程。mapbasic里調(diào)用過程語句是 calling,很簡單的。
下面我們就開始自定義這三個過程,
學(xué)過編程的都是,定義過程前,先要對過程進(jìn)行聲明,如下
------------------------------
Declare Sub note
聲明一個名為NOTE的過程,然后對NOTE的內(nèi)容進(jìn)行定義,如下
Sub note
Note"查詢成功!"
End Sub
note的過程里很簡單,就是出現(xiàn) 查詢成功 的對話框。
----------------------------
下面是 詢問的對話框
Declare Sub ask
sub ask
Dim check_aAsLogical
Check_a = Ask("詢問對話框,想要繼續(xù)嗎?", "是", "否")
End Sub
----------------------
文件選擇對話框
Declare Subchoose
sub choose
Dim s_filename As String
s_filename = FileOpenDlg("","","TAB","選擇文件對話框")
open table s_filename Interactive
map from site
end sub
-----------------------------
這里我對文件選擇稍微加工了一下, 因為我們看出文件選擇對話框,返回的值實際上是文件的名稱,而在mapinfo中無法很直觀的判斷是否執(zhí)行成功,所以我在下面又添加了打開文件,并且顯示在map上的功能,這樣我們就可以很清楚的判斷我們選擇的文件是否是正常打開。
open table 就是打開TABLE,這個基本一看就會,不解釋
map from 就是將tab表顯示在map上,同樣不解釋。
完整代碼如下:
[attach]207128[/attach]
編譯后,在map中打開效果如下:
菜單效果如下:多了三個子項
[attach]207131[/attach]
點擊信息對話框效果:
[attach]207132[/attach]
點擊詢問對話框效果如下:
[attach]207133[/attach]
點擊文件選擇對話框如下:
[attach]207134[/attach]
然后我選擇了SITE.tab文件,顯示效果如下:
[attach]207135[/attach]
好了,我們成功的打開了tab文件,并且將需要的表顯示在map上。
-------------------------------------------
今天我們學(xué)了對話框和如何打開文件,并且顯示在地圖上。
發(fā)現(xiàn)沒人頂呀,很郁悶呀!寫這個也很累的,還是原創(chuàng),抑郁了!!
:( :( :( :'(
[ 本帖最后由 hillyspring 于 2011-11-28 20:49 編輯 ]
掃碼關(guān)注5G通信官方公眾號,免費領(lǐng)取以下5G精品資料
1、回復(fù)“YD5GAI”免費領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書》
2、回復(fù)“5G6G”免費領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21》
3、回復(fù)“YD6G”免費領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書》
4、回復(fù)“LTBPS”免費領(lǐng)取《《中國聯(lián)通5G終端白皮書》》
5、回復(fù)“ZGDX”免費領(lǐng)取《中國電信5G NTN技術(shù)白皮書》
6、回復(fù)“TXSB”免費領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解》
7、回復(fù)“YDSL”免費領(lǐng)取《中國移動算力并網(wǎng)白皮書》
8、回復(fù)“5GX3”免費領(lǐng)取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1》
| |