999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

動(dòng)態(tài)下拉式按鈕組菜單在VFP中的應(yīng)用

2014-10-21 20:07:31何文輝
新課程學(xué)習(xí)·下 2014年10期
關(guān)鍵詞:數(shù)據(jù)庫

何文輝

摘 要:采用面向?qū)ο蟮脑O(shè)計(jì)思想開發(fā)動(dòng)態(tài)下拉式按鈕組菜單(以下簡稱動(dòng)態(tài)菜單),規(guī)劃完善動(dòng)態(tài)菜單的各項(xiàng)功能及其在信息管理系統(tǒng)中的應(yīng)用。

關(guān)鍵詞:VFP;面向?qū)ο?動(dòng)態(tài)下拉式按鈕組菜單;數(shù)據(jù)庫;信息管理系統(tǒng)

使用傳統(tǒng)菜單必須要一層一層地點(diǎn)擊,才能執(zhí)行一個(gè)表單,有時(shí)容易點(diǎn)錯(cuò),為用戶帶來不便,并且界面也不美觀。而采用傳統(tǒng)菜單結(jié)合動(dòng)態(tài)菜單的設(shè)計(jì),不僅使用戶操作便捷,而且界面更加友好、更加專業(yè)化,并且動(dòng)態(tài)菜單完全實(shí)現(xiàn)了用戶自定義菜單功能,大大降低了應(yīng)用程序的修改維護(hù),滿足各種用戶需求。

一、動(dòng)態(tài)菜單的功能介紹

1.動(dòng)態(tài)菜單布局:第一級菜單作為動(dòng)態(tài)菜單的第一層,第二級菜單作為動(dòng)態(tài)菜單的第二級,本例只用了兩級,可以根據(jù)需要拓展到多級,并且一般情況下,級數(shù)不要多于2層,否則影響使用效果。其用法是,當(dāng)點(diǎn)擊第一層菜單,如“查詢統(tǒng)計(jì)”,系統(tǒng)將下拉展開“查詢統(tǒng)計(jì)”的二級菜單。再次點(diǎn)擊其他的第一層菜單時(shí),如“日常管理”時(shí),只展開“日常管理”的二級菜單。其他一級菜單關(guān)閉。

2.動(dòng)態(tài)菜單將根據(jù)用戶ID和用戶自定義的菜單項(xiàng),自動(dòng)生成動(dòng)態(tài)菜單。不同的用戶可根據(jù)自己的實(shí)際需要,由系統(tǒng)管理員分配菜單項(xiàng)及規(guī)定各級菜單的文本和圖標(biāo)等。

二、設(shè)計(jì)思想

1.按照其功能,可以把每個(gè)一級菜單看作一個(gè)樹型節(jié)點(diǎn),并且其行為也與樹型控件很相似,當(dāng)展開一級菜單中的一個(gè)時(shí),其他一級菜單自動(dòng)關(guān)閉,也可全部展開等。當(dāng)要實(shí)現(xiàn)其動(dòng)態(tài)設(shè)定菜單項(xiàng)時(shí),也需要將每個(gè)一級菜單作為一個(gè)節(jié)點(diǎn)類來處理

2.設(shè)計(jì)時(shí),可以將動(dòng)態(tài)菜單分為三個(gè)部分來進(jìn)行。第一部分是設(shè)計(jì)子節(jié)點(diǎn),子節(jié)點(diǎn)的功能是實(shí)現(xiàn)執(zhí)行命令或過程等。第二部分是設(shè)計(jì)帶有子節(jié)點(diǎn)的父節(jié)點(diǎn),父節(jié)點(diǎn)的功能是子節(jié)點(diǎn)的容器,實(shí)現(xiàn)二級菜單的動(dòng)態(tài)填充及展開、關(guān)閉二級菜單。第三部分是設(shè)計(jì)動(dòng)態(tài)菜單的主體,主體是父節(jié)點(diǎn)的容器,實(shí)現(xiàn)一級菜單的動(dòng)態(tài)數(shù)據(jù)填充及管理一級菜單。

三、關(guān)鍵步驟、技術(shù)與核心代碼

1.設(shè)計(jì)子節(jié)點(diǎn)類。代碼如下:

DEFINE CLASS tb_cbnode as Commandbutton

Alignment=0

Height=25

Pictureposition =1

Width=124

runcmd=“”&&增加的新屬性

PROCEDURE Click

LOCAL ls_runcmd

ls_runcmd =This.runcmd

&ls_runcmd &&執(zhí)行增加的新屬性runcmd宏

ENDPROC

ENDDEFINE

2.設(shè)計(jì)父節(jié)點(diǎn)類。

(1)增加新屬性。

DEFINE CLASS tb_node as Container &&定義父節(jié)點(diǎn)

ENDDEFINE &&這條語句放在整個(gè)類定義之后

c_height =0 &&展開時(shí)容器的高度

c_maxheight =200 &&容器的最大高度,即容器顯示的子節(jié)點(diǎn)最多數(shù)量,當(dāng)c_height

&&大于c_maxheight時(shí),容器將顯示上、下滾動(dòng)箭頭。

itemcnt =0 &&包含的子節(jié)點(diǎn)數(shù)

preheight =25 &&單位高度,即點(diǎn)擊上、下滾動(dòng)箭頭時(shí)子節(jié)點(diǎn)移動(dòng)的單位

caption =0

(2)增加兩個(gè)對象。

增加一個(gè)命令按鈕,用來顯示父節(jié)點(diǎn)的標(biāo)題及展開、關(guān)閉父節(jié)點(diǎn)等功能,然后增加一個(gè)容器,用以放置子節(jié)點(diǎn)。代碼如下:

ADD OBJECT node_cb AS CommandButton

PROCEDURE node_cb.Click

This.Parent .Parent.LockScreen =.t. &&防止刷屏

This.Parent.Parent.collapseall&&調(diào)用父節(jié)點(diǎn)所在容器的collapseall方法

This.Parent.expand &&調(diào)用父節(jié)點(diǎn)展開方法

This.Parent .Parent.LockScreen =.f.

ENDPROC

ADD OBJECT node_c AS Container &&用來包含子節(jié)點(diǎn)的容器

(3)增加幾個(gè)方法。

增加collapse、expand、downclick、upclick、setp及ynhidecb方法,其含義分別是節(jié)點(diǎn)收縮、節(jié)點(diǎn)展開、點(diǎn)擊向下滾動(dòng)箭頭、點(diǎn)擊向上滾動(dòng)箭頭、運(yùn)行宏及隱藏顯示命令按鈕。下面僅介紹關(guān)鍵代碼

PROCEDURE expand

LOCAL li_height

IF This.c_maxheight>=This.c_height

li_height=This.c_height

ELSE

li_height=This.c_maxheight

ENDIF

This.node_c .Height =li_height

This.Height=This.node_cb.Height ?+This.node_c.Height

ENDPROC

3.設(shè)計(jì)動(dòng)態(tài)菜單的主體。

設(shè)計(jì)用戶自定義菜單錄入表。根據(jù)需要,分別設(shè)計(jì)了兩個(gè)表,一個(gè)menu_sub用于保存一級菜單項(xiàng)目,另一個(gè)menu_item用于保存二級菜單項(xiàng)目,兩個(gè)表為一對多關(guān)系,menu_sub為主表,menu_item為從表。

總之,這個(gè)動(dòng)態(tài)菜單是由三部分組成,分別為子節(jié)點(diǎn)、父節(jié)點(diǎn)和動(dòng)態(tài)菜單本身,它們的關(guān)系均為前一個(gè)對象是后一個(gè)類的子對象。并且動(dòng)態(tài)菜單的行為方式與樹型控件的行為方式很相似,因此在設(shè)計(jì)此類時(shí)自然會產(chǎn)生分別設(shè)計(jì)三個(gè)類的想法。并且為了使其子節(jié)點(diǎn)能動(dòng)態(tài)關(guān)聯(lián)執(zhí)行命令或過程,這里采用了宏,使得在類內(nèi)的子對象可以執(zhí)行外部函數(shù)。

參考文獻(xiàn):

張洪舉.Visual FoxPro 6.0~9.0解決方案與范例大全.人民郵電出版社,2006.

編輯 溫雪蓮

猜你喜歡
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 不卡网亚洲无码| 欧美精品啪啪| 最新国产你懂的在线网址| 2020国产精品视频| 在线视频一区二区三区不卡| 亚洲制服中文字幕一区二区| 欧美一区二区啪啪| 色婷婷亚洲十月十月色天| 亚洲欧美极品| 99这里只有精品在线| 秋霞一区二区三区| 亚洲精品图区| 欧洲免费精品视频在线| 黄色成年视频| 欧美成人精品一级在线观看| 国产高清在线精品一区二区三区| 久久无码高潮喷水| 亚洲av综合网| 国产素人在线| 老司国产精品视频91| 免费A∨中文乱码专区| 亚洲欧洲日韩综合色天使| 国产在线无码一区二区三区| 玖玖精品视频在线观看| jizz在线观看| 久久五月视频| 试看120秒男女啪啪免费| 被公侵犯人妻少妇一区二区三区| 国产av一码二码三码无码 | 原味小视频在线www国产| 亚洲精品大秀视频| 成人日韩欧美| 久久这里只有精品免费| 日韩精品亚洲人旧成在线| 亚洲高清免费在线观看| 视频在线观看一区二区| 日韩第九页| 亚洲男人的天堂在线观看| a欧美在线| 超碰色了色| 99人妻碰碰碰久久久久禁片| 国产91久久久久久| 三级国产在线观看| 久久情精品国产品免费| 极品国产一区二区三区| 性色一区| 国产91麻豆免费观看| 成人一级黄色毛片| 国产日产欧美精品| 另类专区亚洲| 欧美性猛交一区二区三区 | 福利在线不卡一区| 亚洲欧美精品一中文字幕| 欧美国产日产一区二区| 国产亚洲欧美在线视频| 97国产精品视频人人做人人爱| 亚洲熟妇AV日韩熟妇在线| 欧美一区二区精品久久久| 国产精品丝袜视频| 欧美视频在线不卡| 尤物成AV人片在线观看| 亚洲区视频在线观看| 永久成人无码激情视频免费| 一本色道久久88| 免费毛片全部不收费的| 免费看美女自慰的网站| 国产日韩精品欧美一区灰| 亚洲一区二区三区国产精品| 久久国产V一级毛多内射| 激情无码字幕综合| 欧美日本视频在线观看| 婷婷六月综合| 2021国产精品自产拍在线观看| 男女性午夜福利网站| 色婷婷久久| 欧美丝袜高跟鞋一区二区| 伊人久久影视| 欧美色99| 成人蜜桃网| 熟妇无码人妻| 一级毛片在线免费视频| 亚洲成综合人影院在院播放|