專利名稱:一種用戶界面生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件界面及人機(jī)交互技術(shù)領(lǐng)域,尤其涉及一種用戶界面生成方法。
背景技術(shù):
軟件界面也被稱為軟件用戶界面、用戶界面或者計(jì)算機(jī)程序用戶界面,是計(jì)算機(jī) 程序與用戶進(jìn)行信息交流的工具。用戶通過界面給計(jì)算機(jī)程序傳達(dá)指令,計(jì)算機(jī)程序通過 界面向用戶傳達(dá)程序運(yùn)行的結(jié)果以及其他信息。在個(gè)人電腦中由于使用者主要用計(jì)算機(jī)進(jìn) 行辦公或娛樂,所以軟件界面的用戶體驗(yàn)在軟件中占到了非常重要的位置。個(gè)人電腦的用戶界面從命令行到圖像界面,人們對(duì)軟件界面的顯示效果和可 操作性要求越來越高。傳統(tǒng)的windows界面開發(fā)中我們可使用微軟基礎(chǔ)類(Microsoft Foundation Classes,MFC) ,WTL(WindowsTemplate Library)等界面庫快速進(jìn)行界面開發(fā), 但這種方式有很多局限性。一方面,由于使用的都是標(biāo)準(zhǔn)控件想要使界面?zhèn)€性化(換膚,改 變控件布局等)會(huì)變得很困難;另一方面由于Windows控件提供的自繪技術(shù)局限太多,基本 上沒有透明等效果支持,想要定義一些控件顯示的特效就非常耗時(shí)耗力。傳統(tǒng)的使用MFC/WTL進(jìn)行界面開發(fā)較難實(shí)現(xiàn)界面的特效,通過自定義界面庫編寫 代碼進(jìn)行界面開發(fā)除了步驟繁瑣、編碼過程不能直觀地看到界面效果,也影響著開發(fā)速度。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題本發(fā)明所要解決的技術(shù)問題是如何無需直接編碼即可生成運(yùn)行的用戶界面,并 根據(jù)生成的用戶界面生成程序代碼,以及如何實(shí)現(xiàn)控件的簡便操作。( 二 )技術(shù)方案為解決上述問題,本發(fā)明提供了一種用戶界面生成方法,該方法包括步驟Si.生成基礎(chǔ)界面預(yù)覽窗口 ;S2.設(shè)置窗口屬性,并根據(jù)設(shè)置的窗口屬性更新預(yù)覽窗口顯示;S3.在更新的基礎(chǔ)界面預(yù)覽窗口上以控件樹的方式添加控件;S4.設(shè)置控件屬性,根據(jù)設(shè)置的控件屬性動(dòng)態(tài)更新控件顯示,并保存相應(yīng)的配置信 息;S5.設(shè)置窗口裁剪掩碼,并根據(jù)設(shè)置的窗口裁剪掩碼對(duì)窗口進(jìn)行裁剪;S6.生成目標(biāo)用戶界面預(yù)覽窗口,保存目標(biāo)用戶界面配置文件,并根據(jù)所述配置文 件生成窗口類,加入用戶界面的業(yè)務(wù)邏輯。其中,在步驟Sl中,生成基礎(chǔ)界面預(yù)覽窗口的方法為加載原有用戶界面配置文 件或新建用戶界面配置文件;通過加載原有用戶界面配置文件生成基礎(chǔ)界面預(yù)覽窗口的方 法為從原有用戶界面配置文件讀取窗口和窗口所包含的控件配置信息,通過界面庫生成 所述基礎(chǔ)界面預(yù)覽窗口 ;通過新建用戶界面配置文件生成基礎(chǔ)界面預(yù)覽窗口的方法為通 過界面庫生成只包含關(guān)閉按鈕的空白窗口作為所述基礎(chǔ)界面預(yù)覽窗口。
其中,所述界面庫通過動(dòng)態(tài)鏈接庫方式或組件對(duì)象模型服務(wù)器方式實(shí)現(xiàn)。其中,所述窗口屬性包括窗口大小、皮膚路徑、背景色、背景圖片、以及窗口透明度。其中,在步驟S3中,以控件樹的方式添加控件,在添加控件時(shí),若所要添加的位置 上未添加控件,則將所要添加的控件設(shè)置為窗口的下一層進(jìn)行添加;否則,將所要添加的控 件設(shè)置為所要添加的位置上已添加的最下一層的控件的子控件進(jìn)行添加。其中,在步驟S4進(jìn)一步包括S4. 1獲取包含控件全部屬性的字符串或xml結(jié)構(gòu)的屬性值;S4. 2轉(zhuǎn)換所述屬性值為控件的下拉列表中的選項(xiàng);S4. 3通過選擇所述選項(xiàng),設(shè)置控件屬性。其中,在步驟S4中,設(shè)置控件屬性包括設(shè)置控件的別名,所述別名用于通過該別 名唯一映射到其所對(duì)應(yīng)的控件。其中,在步驟S5中,設(shè)置窗口裁剪掩碼的方法為以與窗口重合的圖片制定對(duì)窗 口的裁剪方式,以設(shè)定的顏色作為裁剪色,裁剪所述圖片上所述設(shè)定的顏色對(duì)應(yīng)的窗口中 的區(qū)域。(三)有益效果依照本發(fā)明的方法,產(chǎn)品設(shè)計(jì)人員或界面開發(fā)人員通過控件拖拽、屬性設(shè)置等操 作,無需直接編碼就可生成可運(yùn)行的軟件界面,生成界面過程中可在界面上進(jìn)行各種操作 和效果預(yù)覽,且生成界面過程中窗口所包含的控件按樹形結(jié)構(gòu)分層,方便了控件間的關(guān)系管理。
圖1為依照本發(fā)明一種實(shí)施方式的用戶界面生成方法流程圖。
具體實(shí)施例方式對(duì)于本發(fā)明所提出的用戶界面生成方法,結(jié)合附圖和實(shí)施例詳細(xì)說明。本發(fā)明的方法允許用戶可簡單地通過鼠標(biāo)及鍵盤操作,直觀地在屏幕上動(dòng)態(tài)生成 一個(gè)窗口界面,并將其永久化為配置文件,通過得到的配置文件,可以隨時(shí)生成并顯示出該 窗口界面。如圖1所示,依照本發(fā)明一種實(shí)施方式的用戶界面生成方法,包括步驟Si.通過加載原有用戶界面配置文件或新建用戶界面配置文件,生成基礎(chǔ)界面預(yù) 覽窗口 ο用戶界面以窗口為單位,生成用戶界面的第一步就是創(chuàng)建一個(gè)窗口。通過加載原 有用戶界面配置文件生成基礎(chǔ)界面預(yù)覽窗口的方法為從原有用戶界面配置文件讀取窗口 和窗口所包含的控件配置信息,通過界面庫生成基礎(chǔ)界面預(yù)覽窗口。通過新建用戶界面配置文件生成基礎(chǔ)界面預(yù)覽窗口的方法為直接通過界面庫生 成一個(gè)只包含關(guān)閉按鈕的空白窗口作為基礎(chǔ)界面預(yù)覽窗口。界面庫的實(shí)現(xiàn)可以使用動(dòng)態(tài)鏈接庫(dll)方式或使用組件對(duì)象模型(com)服務(wù)器 的方式。S2.設(shè)置窗口屬性,并根據(jù)設(shè)置的窗口大小、皮膚路徑、背景色、背景圖片、窗口透明度等窗口屬性更新預(yù)覽窗口顯示。隨著界面庫的發(fā)展和軟件用戶對(duì)界面的要求提高,越來越多的界面庫支持窗口透 明、換膚等功能,所以本發(fā)明方法生成的用戶界面也提供了對(duì)換膚、換背景、設(shè)置窗口透明 度的支持。將皮膚、背景圖、窗口透明度當(dāng)做窗口的屬性進(jìn)行設(shè)置,在用戶設(shè)置完成這些屬 性后,根據(jù)設(shè)置內(nèi)容刷新預(yù)覽窗口,使用戶可以直觀地看到設(shè)置效果。S3.在經(jīng)過步驟S2更新的基礎(chǔ)界面預(yù)覽窗口上添加控件。用戶選擇要添加控件的類型,通過鼠標(biāo)從拖拽添加該類型的控件到窗口中,鼠標(biāo) 拖拽的范圍確定了控件的位置。為了更好地組織窗口中的控件,本發(fā)明優(yōu)選地將全部控件 組織為一棵控件樹,以ctrlcontainer作為父類的控件,其可以包含子控件,這種組織方 式可以很好地將控件分組進(jìn)行管理,方便控件邏輯管理。這樣在添加控件時(shí),若添加的位置 上沒有其他控件,則直接將該要添加的控件添加為窗口的下一層;若所要添加的位置上存 在其他集成自ctrlcontainer的控件,則將所要添加的控件作為在所要添加的位置上已 添加的最下一層的ctrl_container類控件的子控件進(jìn)行添加。其中,ctrl_container是 一類可以包含其他控件的容器控件。S4.設(shè)置控件屬性,根據(jù)設(shè)置的屬性動(dòng)態(tài)更新控件顯示,并保存相應(yīng)的配置信息。步驟S3中添加控件時(shí)會(huì)將控件的屬性設(shè)置為默認(rèn)值,用戶可以在界面上查看并 修改相應(yīng)類型的控件所包含的屬性。其中控件屬性的獲取和設(shè)置都是通過界面庫的接口進(jìn) 行的。獲取到包含控件全部屬性的字符串或xml結(jié)構(gòu)(具體屬性的表示方式據(jù)實(shí)現(xiàn)而異) 后,通過配置文件,將屬性值轉(zhuǎn)換為方便用戶識(shí)別、修改的表示方式后顯示在裝置界面上。 如將表示按鈕類型的枚舉值轉(zhuǎn)換為下拉列表中的三項(xiàng)(普通按鈕,CheCkB0X,Radi0B0X)并 顯示在界面上供用戶選擇設(shè)置,提高了界面交互的友好度。當(dāng)用戶通過裝置界面修改控件屬性時(shí),將屬性列表中的各項(xiàng)轉(zhuǎn)換為界面庫中的控 件所要求的屬性表示,將其設(shè)置到控件中并刷新該窗口的顯示,這樣用戶可以實(shí)時(shí)地從界 面上看到自己對(duì)控件屬性修改的效果。設(shè)置完成控件屬性后,若在邏輯開發(fā)過程中需要對(duì)該控件進(jìn)行消息響應(yīng),那么還 可以對(duì)該控件設(shè)置一個(gè)別名,通過該別名可以唯一地映射到該控件。如一個(gè)“提交”按鈕,在 該按鈕按下時(shí)需要由客戶端向服務(wù)器提交一些信息,可以將該按鈕的別名命名為“butt0n_ commit”,該別名會(huì)在生成窗口類的過程中得到使用。若該控件只起到顯示作用,如一個(gè) static控件,在程序運(yùn)行期間只會(huì)顯示固定字符串內(nèi)容,則無需對(duì)該控件命名別名,這樣就 不會(huì)在生成窗口類的過程中生成程序代碼時(shí)加入該控件的消息響應(yīng)。S5.設(shè)置窗口裁剪掩碼,并根據(jù)設(shè)置的窗口裁剪掩碼對(duì)窗口進(jìn)行裁剪。用戶可通過設(shè)置一張與窗口重合的圖片來指定對(duì)窗口的裁剪方式,選定某種顏色 作為裁剪色,該圖片上對(duì)應(yīng)這種顏色的區(qū)域所對(duì)應(yīng)的窗口上的區(qū)域都被裁減掉,這樣就方 便地實(shí)現(xiàn)了窗口的裁剪,且窗口裁剪效果良好無鋸齒S6.生成目標(biāo)用戶界面預(yù)覽窗口,保存目標(biāo)用戶界面配置文件,并根據(jù)所述配置文 件生成一個(gè)窗口類,加入用戶界面所需要的業(yè)務(wù)邏輯,業(yè)務(wù)邏輯指除界面操作和界面顯示 外的其他后臺(tái)操作,如搜索操作除界面操作和搜索結(jié)果顯示之外,在后臺(tái)進(jìn)行的結(jié)果匹配 的過程等。通過以上步驟S1-5所生成的目標(biāo)用戶界面預(yù)覽窗口,除了某些業(yè)務(wù)邏輯未加 入,界面中控件的顯示、基本布局、基本操作都已實(shí)現(xiàn)。將前面步驟中生成的窗口配置信息保存,并根據(jù)該配置文件生成一個(gè)窗口類(c++),一個(gè)類對(duì)象就對(duì)應(yīng)一個(gè)窗口實(shí)例。生成程 序代碼時(shí)首先生成窗口的基本操作接口(init,Sh0W,hide等);其次會(huì)將步驟S3中命名別 名的控件查找到,根據(jù)控件類型的不同加入不同的消息響應(yīng)函數(shù),如按鈕(button)控件會(huì) 加入WM_C0MMAND的消息響應(yīng)函數(shù),編輯(edit)控件會(huì)加入EN_CHANGE的消息響應(yīng)函數(shù),這 些響應(yīng)消息都是該類型控件最常使用的。通過使用該步驟生成的代碼即可基本完成該窗口 的界面開發(fā)工作,如有進(jìn)一步的需求變更,相應(yīng)地編輯代碼文件和窗口界面配置文件即可。
以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通 技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有 等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
一種用戶界面生成方法,其特征在于,該方法包括步驟S1.生成基礎(chǔ)界面預(yù)覽窗口;S2.設(shè)置窗口屬性,并根據(jù)設(shè)置的窗口屬性更新預(yù)覽窗口顯示;S3.在更新的基礎(chǔ)界面預(yù)覽窗口上以控件樹的方式添加控件;S4.設(shè)置控件屬性,根據(jù)設(shè)置的控件屬性動(dòng)態(tài)更新控件顯示,并保存相應(yīng)的配置信息;S5.設(shè)置窗口裁剪掩碼,并根據(jù)設(shè)置的窗口裁剪掩碼對(duì)窗口進(jìn)行裁剪;S6.生成目標(biāo)用戶界面預(yù)覽窗口,保存目標(biāo)用戶界面配置文件,并根據(jù)所述配置文件生成窗口類,加入用戶界面的業(yè)務(wù)邏輯。
2.如權(quán)利要求1所述的用戶界面生成方法,其特征在于,在步驟Sl中,生成基礎(chǔ)界面預(yù) 覽窗口的方法為加載原有用戶界面配置文件或新建用戶界面配置文件;通過加載原有用戶界面配置文件生成基礎(chǔ)界面預(yù)覽窗口的方法為從原有用戶界面配 置文件讀取窗口和窗口所包含的控件配置信息,通過界面庫生成所述基礎(chǔ)界面預(yù)覽窗口 ;通過新建用戶界面配置文件生成基礎(chǔ)界面預(yù)覽窗口的方法為通過界面庫生成只包含 關(guān)閉按鈕的空白窗口作為所述基礎(chǔ)界面預(yù)覽窗口。
3.如權(quán)利要求2所述的用戶界面生成方法,其特征在于,所述界面庫通過動(dòng)態(tài)鏈接庫 方式或組件對(duì)象模型服務(wù)器方式實(shí)現(xiàn)。
4.如權(quán)利要求1所述的用戶界面生成方法,其特征在于,所述窗口屬性包括窗口大 小、皮膚路徑、背景色、背景圖片、以及窗口透明度。
5.如權(quán)利要求1所述的用戶界面生成方法,其特征在于,在步驟S3中,在添加控件時(shí), 若所要添加的位置上未添加控件,則將所要添加的控件設(shè)置為窗口的下一層進(jìn)行添加;否 則,將所要添加的控件設(shè)置為所要添加的位置上已添加的最下一層的控件的子控件進(jìn)行添 加。
6.如權(quán)利要求1所述的用戶界面生成方法,其特征在于,在步驟S4進(jìn)一步包括S4. 1獲取包含控件全部屬性的字符串或xml結(jié)構(gòu)的屬性值;S4. 2轉(zhuǎn)換所述屬性值為控件的下拉列表中的選項(xiàng);S4. 3通過選擇所述選項(xiàng),設(shè)置控件屬性。
7.如權(quán)利要求1所述的用戶界面生成方法,其特征在于,在步驟S4中,設(shè)置控件屬性包 括設(shè)置控件的別名,所述別名用于通過該別名唯一映射到其所對(duì)應(yīng)的控件。
8.如權(quán)利要求1所述的用戶界面生成方法,其特征在于,在步驟S5中,設(shè)置窗口裁剪掩 碼的方法為以與窗口重合的圖片制定對(duì)窗口的裁剪方式,以設(shè)定的顏色作為裁剪色,裁剪 所述圖片上所述設(shè)定的顏色對(duì)應(yīng)的窗口中的區(qū)域。
全文摘要
本發(fā)明公開了一種用戶界面生成方法,該方法包括步驟S1.生成基礎(chǔ)界面預(yù)覽窗口;S2.設(shè)置窗口屬性,并根據(jù)設(shè)置的窗口屬性更新預(yù)覽窗口顯示;S3.在更新的基礎(chǔ)界面預(yù)覽窗口上以控件樹的方式添加控件;S4.設(shè)置控件屬性,根據(jù)設(shè)置的控件屬性動(dòng)態(tài)更新控件顯示,并保存配置信息;S5.設(shè)置窗口裁剪掩碼,并根據(jù)設(shè)置的窗口裁剪掩碼對(duì)窗口進(jìn)行裁剪;S6.生成目標(biāo)用戶界面預(yù)覽窗口,保存目標(biāo)用戶界面配置文件,并根據(jù)所述配置文件生成窗口類,加入窗口界面的業(yè)務(wù)邏輯。依照本發(fā)明的方法,產(chǎn)品設(shè)計(jì)人員或界面開發(fā)人員通過控件拖拽、屬性設(shè)置等操作,無需直接編碼就可生成可運(yùn)行的軟件界面,且生成界面過程中窗口所包含的控件按樹形結(jié)構(gòu)分層,方便了控件間的關(guān)系管理。
文檔編號(hào)G06F9/44GK101944027SQ201010291979
公開日2011年1月12日 申請(qǐng)日期2010年9月26日 優(yōu)先權(quán)日2010年9月26日
發(fā)明者姚運(yùn)田 申請(qǐng)人:北京神州泰岳軟件股份有限公司