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

基于嵌入式MINIGUI控件子類化技術(shù)的深入研究與應(yīng)用

2011-01-23 09:57:58
中國新技術(shù)新產(chǎn)品 2011年3期
關(guān)鍵詞:嵌入式定義結(jié)構(gòu)

王 丹

(安徽理工大學(xué)計(jì)算機(jī)學(xué)院,安徽 淮南 232001)

基于嵌入式MINIGUI控件子類化技術(shù)的深入研究與應(yīng)用

王 丹

(安徽理工大學(xué)計(jì)算機(jī)學(xué)院,安徽 淮南 232001)

文章討論一種MINIGUI控件子類化過程中的新方法。MINIGUI是一種有效的圖形用戶界面,子類化是對控件類的擴(kuò)展。文章中提出了一種新的對于MINIGUI中控件子類化設(shè)計(jì)過程中數(shù)據(jù)保存的方法,該方法能有效的應(yīng)用到MINIGUI的軟件開發(fā)中,從而提高M(jìn)INIGUI系統(tǒng)在嵌入式應(yīng)用當(dāng)中的競爭力。

MINIGUI;控件;子類化;嵌入式

1 MINIGUI圖形系統(tǒng)

MINIGUI是GUI圖形界面系統(tǒng)中的一種,其開發(fā)的目的是為基于LINUX的實(shí)時(shí)嵌入式系統(tǒng)提供一個(gè)輕量級(jí)的圖形用戶界面支持系統(tǒng)。它為應(yīng)用程序定義了一組輕量級(jí)的窗口和圖形設(shè)備接口。利用這些接口,每個(gè)應(yīng)用程序可以建立多個(gè)窗口,而且可以在這些窗口中繪制圖形互不影響。用戶還可以利用MINIGUI建立菜單、按鈕、列表框等常見的GUI元素。利用MINIGUI足可以實(shí)現(xiàn)任何絢麗多姿的界面效果及交互應(yīng)用。

2 控件類與控件的子類化

在MINIGUI中子類化的方法有三種:1)對已經(jīng)建立的控件實(shí)例進(jìn)行子類化,子類化的結(jié)果只會(huì)影響一個(gè)控件實(shí)例。2)對某個(gè)控件類進(jìn)行子類化,將影響其后創(chuàng)建的所有該控件累的控件實(shí)例;3)在某個(gè)控件類的基礎(chǔ)上新注冊一個(gè)子類化的控件類,不會(huì)影響原有控件類。

3 傳統(tǒng)子類化設(shè)計(jì)的不足與改進(jìn)

3.1 傳統(tǒng)設(shè)計(jì)

在MINIGUI庫中的struct_MAINWIN結(jié)構(gòu)中有一些兩成員,如下:

MINIGUI中,dwAddData2是供控件實(shí)現(xiàn)中保存數(shù)據(jù)使用的,dwAddData則提供給用戶再次使用。由此可以肯定我們設(shè)計(jì)子類化控件的時(shí)候,子類化控件的數(shù)據(jù)不應(yīng)該保存在dwAddData2中,如果保存在dwAddData2中,預(yù)定義控件中的數(shù)據(jù)就會(huì)丟失,而我們的子類化控件是基于預(yù)定義控件類或者控件實(shí)例基礎(chǔ)上的。為此,傳統(tǒng)設(shè)計(jì)方法中變量dwAddData則會(huì)成為我們的選擇。

3.2 傳統(tǒng)方式的應(yīng)用。

子類化控件設(shè)計(jì)的應(yīng)用非常廣泛,圖1即通過重載已有編輯框而實(shí)現(xiàn)的子類化控件的應(yīng)用,在該應(yīng)用中傳統(tǒng)方式設(shè)計(jì)的子類化控件得到了很好的應(yīng)用,而且設(shè)計(jì)設(shè)計(jì)方法簡單。

圖 1

3.3 子類化設(shè)計(jì)過程中的不足與改進(jìn)

3.3.1 不足。傳統(tǒng)子類化設(shè)計(jì)滿足了簡單常規(guī)的應(yīng)用,但是在復(fù)雜設(shè)計(jì)中,我們會(huì)遇到這樣的問題,當(dāng)這樣的子類化控件與預(yù)定義控件進(jìn)行內(nèi)嵌使用時(shí),往往會(huì)出現(xiàn)問題,原因就在于我們前面?zhèn)鹘y(tǒng)方式設(shè)計(jì)中采用了用dwAddData保存子類化中的數(shù)據(jù)。

MINIGUI在設(shè)計(jì)時(shí)采用了在struct_MAINWIN結(jié)構(gòu)中定義兩個(gè)附加數(shù)據(jù)變量來保存數(shù)據(jù),其目的就是為了保證控件數(shù)據(jù)不被丟失,保證用戶不會(huì)使用內(nèi)部數(shù)據(jù),從而為用戶專門定義了一個(gè)變量來保存他們用到的數(shù)據(jù)。而二次開發(fā)者與應(yīng)用開發(fā)者同樣是MINIGUI庫的使用者,從而導(dǎo)致了兩者之間對dwAdd-Data的重復(fù)使用。

3.3.2 改進(jìn)與應(yīng)用。在這里我們提出一種更加有效合理的方法:在內(nèi)部控件中增加一個(gè)獲取內(nèi)部保存在adddation2中的結(jié)構(gòu)體變量大小的消息,供編寫外部擴(kuò)展控件時(shí)使用,另外還得再window.h中增加這個(gè)消息的定義。該消息這里定義為MSG_GETPRIVATEDATASIZE。在編寫擴(kuò)展控件時(shí),MSG_CREATE消息中malloc一個(gè)指針內(nèi)存,該內(nèi)存大小為內(nèi)部獲得的結(jié)構(gòu)體變量大小與擴(kuò)展控件的結(jié)構(gòu)體變量大小之和,將這兩個(gè)結(jié)構(gòu)體保存在p中,內(nèi)部的在前,擴(kuò)展的在后,并將p的內(nèi)容保存在adddation2中,注意的是在取出原結(jié)構(gòu)體變量內(nèi)容后應(yīng)free adddation2,再保存p的內(nèi)容。當(dāng)消息不是MSG_CREATE時(shí),adddation2中取出的數(shù)據(jù)為p的內(nèi)容,所以擴(kuò)展控件要使用,p必須加上獲取的內(nèi)部結(jié)構(gòu)體大小,才是擴(kuò)展控件中定義的結(jié)構(gòu)體的地址。

以下代碼是基于spinbox子類化控件中的應(yīng)用實(shí)現(xiàn)方法(部分代碼):

結(jié)論

文章中提出的設(shè)計(jì)方法,有效的解決了多控件內(nèi)嵌的問題,使開發(fā)人員可以方便的設(shè)計(jì)出令人滿意的,并且完美的子類化控件。

[1]北京飛漫軟件有限公司.MiniGUI編程指南[M].2006.

[2]北京飛漫軟件有限公司.MINIGUI用戶手冊[S].2006.

[3]北京飛漫軟件有限公司.MINIGUI技術(shù)白皮書[M].2006.

[4]楊宗德,鄧玉春.Linux高級(jí)程序設(shè)計(jì)(第2版).北京.人民郵電出版社,2009.

TP7

A

猜你喜歡
嵌入式定義結(jié)構(gòu)
《形而上學(xué)》△卷的結(jié)構(gòu)和位置
論結(jié)構(gòu)
中華詩詞(2019年7期)2019-11-25 01:43:04
搭建基于Qt的嵌入式開發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
論《日出》的結(jié)構(gòu)
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
創(chuàng)新治理結(jié)構(gòu)促進(jìn)中小企業(yè)持續(xù)成長
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
修辭學(xué)的重大定義
主站蜘蛛池模板: 天堂中文在线资源| 国产欧美亚洲精品第3页在线| 久综合日韩| 午夜免费视频网站| 日日噜噜夜夜狠狠视频| 亚洲av日韩av制服丝袜| 亚洲精品动漫在线观看| 五月激激激综合网色播免费| 国产特级毛片| 亚洲国产午夜精华无码福利| 国产精品成人AⅤ在线一二三四 | 毛片免费视频| 国产91视频免费观看| 国产成人亚洲精品无码电影| 亚洲精品无码抽插日韩| 国产超薄肉色丝袜网站| 91精品免费高清在线| 中文字幕无码中文字幕有码在线 | 午夜精品久久久久久久2023| 女同国产精品一区二区| 色噜噜狠狠色综合网图区| 婷婷五月在线| 亚洲欧美不卡| 国产呦精品一区二区三区下载 | 狠狠操夜夜爽| 日韩高清一区 | 久久久久久久久18禁秘| 色婷婷在线影院| 亚洲成人一区在线| 国产精品va| 欧美三级不卡在线观看视频| 试看120秒男女啪啪免费| 久久 午夜福利 张柏芝| 欧美激情视频一区| 一区二区三区成人| 91麻豆精品国产91久久久久| 国产精品主播| 免费看美女自慰的网站| 久久频这里精品99香蕉久网址| 日韩欧美国产三级| 97视频免费看| 精品视频一区在线观看| 国产成人狂喷潮在线观看2345| 免费在线色| 国产黑丝一区| 久久亚洲AⅤ无码精品午夜麻豆| 国产AV无码专区亚洲精品网站| 五月综合色婷婷| 中国一级特黄大片在线观看| 日韩精品一区二区三区免费| 国产视频欧美| 小蝌蚪亚洲精品国产| 久久精品国产国语对白| 国产理论最新国产精品视频| 综合成人国产| 成年女人a毛片免费视频| 亚洲人成电影在线播放| 精品国产www| 亚洲视频一区| 99视频在线观看免费| 国产青榴视频| 免费人成视网站在线不卡| 97精品久久久大香线焦| 丝袜无码一区二区三区| 久久国产亚洲欧美日韩精品| 五月婷婷丁香色| 国产精品林美惠子在线观看| 国产福利大秀91| 国产精品亚欧美一区二区三区 | 99热这里只有精品免费| 凹凸国产熟女精品视频| 欧美精品xx| 亚洲福利视频一区二区| 国产丝袜精品| 色天堂无毒不卡| 国内黄色精品| 欧美精品成人一区二区视频一| 国产免费观看av大片的网站| 亚洲香蕉在线| 一级毛片免费高清视频| 制服丝袜 91视频| 亚洲性日韩精品一区二区|