亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

動態(tài)菜單的重排序的制作方法

文檔序號:6381526閱讀:142來源:國知局
專利名稱:動態(tài)菜單的重排序的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及計算機(jī)系統(tǒng),并且特別涉及可以包括在,例如圖形用戶界面中的菜單的設(shè)計和操作。
背景技術(shù)
圖形用戶界面(GUI)是很多現(xiàn)代計算機(jī)操作系統(tǒng),例如基于Windows的操作系統(tǒng)(Windows OS)的一種常見和有用的屬性。Windows OS在很多硬件平臺上運(yùn)行,例如包括手提式個人計算機(jī)(PC)、臺式PC、工作站和網(wǎng)絡(luò)服務(wù)器。
當(dāng)運(yùn)行Windows OS中的一個應(yīng)用程序時,用戶將經(jīng)常看到一系列的屏幕畫面,這些畫面中可能依次包括一個或多個窗口。一個屏幕或一個窗口經(jīng)常向用戶提供多個菜單,這些菜單通過文本標(biāo)號或圖標(biāo)來進(jìn)行識別。通常,菜單位于一個菜單欄中,該菜單欄包括多個相關(guān)菜單。用戶可以利用例如鼠標(biāo)或鍵盤來選擇菜單。當(dāng)選中一個菜單時,該Windows OS通過顯示構(gòu)成該用戶選擇的菜單的一組菜單選項來進(jìn)行響應(yīng)。該菜單選項的表現(xiàn)形式可以是下拉菜單的形式,該下拉菜單源于被選擇的菜單。該下拉菜單依次包括多個菜單選項,通常以垂直堆棧的形式排列。只要用戶保持菜單打開,菜單選項就將保持有效。
作為一個菜單驅(qū)動的GUI的使用例子,假設(shè)一個PC用戶正在運(yùn)行一個文字處理應(yīng)用程序。該應(yīng)用程序的菜單欄可能除了其它菜單外,還包括一個文件菜單。當(dāng)用戶選擇文件菜單時,將出現(xiàn)一個下拉菜單,它包括例如剪切、復(fù)制、粘貼和替換等菜單選項(命令)。當(dāng)用戶選擇前述的一個菜單選項時,PC將執(zhí)行對應(yīng)的文字處理操作。
除了菜單驅(qū)動的GUIs對應(yīng)用程序的使用具有顯著的貢獻(xiàn)外,GUIs還在應(yīng)用程序開發(fā)系統(tǒng)的設(shè)計中具有廣泛的相關(guān)性。GUIs使應(yīng)用程序開發(fā)過程變得明顯地更加易于處理,因此至少因?yàn)檫@個原因,它已經(jīng)成為很多可視編程語言的基本特征。
但是,除了前文所述外,至今所用的菜單欄和菜單選項的使用具有一定程度的不變性。就是說,一旦一個軟件應(yīng)用程序被編好,下拉菜單中的菜單結(jié)構(gòu)將不能由用戶進(jìn)行定制。每個菜單選項都在該下拉菜單中占據(jù)一個固定的、或靜態(tài)的位置。這不只表現(xiàn)出它不能滿足特定用戶的特定喜好,這種靜態(tài)菜單操作位置的強(qiáng)加也導(dǎo)致很明顯的操作缺點(diǎn)。作為一個并非完全假定的相關(guān)情況,考慮在Visual C++集成開發(fā)環(huán)境(IDE)中工作的軟件開發(fā)人員的情況。當(dāng)該開發(fā)人員選擇Visual C++IDE的“編譯”菜單時,他可以看到多個菜單選項的靜態(tài)排列結(jié)構(gòu),這些菜單選項包括處于靜態(tài)菜單選項位置的“編譯”和“全部重新編譯”選項。選擇該“全部重新編譯”選項可以將整個應(yīng)用程序中的所有源代碼轉(zhuǎn)換為目標(biāo)文件。另外,這些目標(biāo)文件之間的必要連接也被建立以便徹底的執(zhí)行。相反,該“編譯”選項僅將處于開發(fā)或修改中的特定編碼編譯(或重新編譯)為目標(biāo)編碼。菜單選項的靜態(tài)序列有時會使開發(fā)人員偏向于選擇“全部重新編譯”選項,雖然他本來是想選擇“編譯”選項。雖然開發(fā)人員僅僅希望使開發(fā)中的代碼變?yōu)榭蓤?zhí)行,但由于該非故意的菜單選擇,將執(zhí)行全部重新編譯,從而浪費(fèi)很多處理時間(某種情況下,將達(dá)到半小時)。
因此,需要提供一種技術(shù)從而防止菜單選項用戶無意或非故意地選擇的可能。


對于本領(lǐng)域技術(shù)人員,參照下面將要簡要說明的附圖將可以更好的理解本發(fā)明的動態(tài)菜單重排序技術(shù)并且它的很多特點(diǎn)、優(yōu)點(diǎn)和性能將變得明顯,圖中相同的附圖標(biāo)記將表示相同或相似的元件,其中圖1是在WindowsOS中運(yùn)行應(yīng)用程序時可以遇到的屏幕或窗口的圖形描述。
圖2A是當(dāng)菜單選擇導(dǎo)致顯示出包括多個菜單選項的靜態(tài)下拉菜單時的屏幕的圖形描述。
圖2B是根據(jù)本發(fā)明的一個實(shí)施例的菜單選項的位置已經(jīng)被重新排序的屏幕的圖形描述。
圖3是根據(jù)本發(fā)明的一個實(shí)施例的計算機(jī)系統(tǒng)的系統(tǒng)方框圖。
圖4是根據(jù)本發(fā)明的用于實(shí)現(xiàn)動態(tài)菜單重排序技術(shù)的流程圖。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)可以理解圖中的元件僅僅被簡單和清楚的示出,而并沒有必要按比例畫出(除非在說明書中說明),例如,圖中某些元件的尺寸可能相對于其他元件被相對夸大,以便于加強(qiáng)對本發(fā)明實(shí)施例的理解。
具體實(shí)施例方式
在一個實(shí)施例中,提供一種技術(shù)來對各個菜單選項所占據(jù)的位置進(jìn)行動態(tài)重排序,這些菜單選項包括在一個下拉菜單格式中。例如,一個計算機(jī)系統(tǒng)包括一個菜單驅(qū)動的GUI,該GUI從用戶處接收菜單選項重排序信息。PC系統(tǒng)響應(yīng)于該菜單選項重排序信息,將至少一個菜單選項從其靜態(tài)位置重新排序到一個動態(tài)的用戶定義的位置。用戶定義的動態(tài)位置信息可以保存在一個配置文件中,從而使后來的菜單選擇所產(chǎn)生的下拉菜單具有符合用戶希望的菜單選項位置。
在一個實(shí)施例中,該菜單驅(qū)動的GUI可以是在Windows OS上運(yùn)行的軟件應(yīng)用程序的屬性。當(dāng)運(yùn)行這樣一個應(yīng)用程序時,用戶經(jīng)常可以看到類似于圖1中所示的屏幕顯示10的一系列屏幕顯示。在標(biāo)準(zhǔn)形式下,作為當(dāng)打開或操作一個軟件程序時出現(xiàn)的典型的屏幕顯示,屏幕顯示10包括例如工作區(qū)11、標(biāo)題欄12、菜單欄13、狀態(tài)欄14和任務(wù)欄15。眾所周知,標(biāo)題欄12占據(jù)窗口頂部的水平空間,并包含該窗口的名字(標(biāo)題)。標(biāo)題欄12還可包含用于關(guān)閉和調(diào)整窗口大小的框符或按鈕(未示出)。狀態(tài)欄14占據(jù)窗口底部的水平空間,包含與執(zhí)行的程序的當(dāng)時條件相關(guān)的文本信息。與本發(fā)明目的更相關(guān)的,菜單欄13可以采用位于窗口上標(biāo)題欄12緊下方的矩形框符的形式。
菜單欄13可包括多個菜單131、132、…、13n等,它們可由用戶通過例如鼠標(biāo)或鍵盤進(jìn)行選擇。通常,當(dāng)一個菜單被選擇時,WindowsOS通過顯示組成用戶選擇的菜單的一組靜態(tài)圖項選項來進(jìn)行響應(yīng)。菜單選項可以如圖2A中所示的下拉菜單20的形式出現(xiàn),該下拉菜單源自于被選擇的菜單。下拉菜單20包括多個菜單選項201、202、…20n,只要用戶打開該菜單,這些菜單選項就保持有效。在圖2A中,菜單選項以如選項1、選項2、和選項3的垂直序列的形式出現(xiàn)。當(dāng)然,下拉菜單20可包括大于或小于三個的菜單選項,顯示這三個菜單選項是試圖說明并且提高簡潔和清楚度。圖2A中的菜單選項的位置是“靜態(tài)的”,這些位置反映出GUI的先驗(yàn)的設(shè)計和編制,并不需要與用戶對這些菜單選項中的一個或多個所希望的最佳位置相一致。
相反,圖2B示出一動態(tài)(即,用戶重排序)菜單21,其中菜單選項位置已經(jīng)由用戶、或根據(jù)用戶提供的信息重新排序?yàn)榉嫌脩舻南埠没騼A向的形式。注意在圖2B的菜單中,在靜態(tài)菜單中占據(jù)底部位置的選項3被重排序,從而占據(jù)圖2B中動態(tài)菜單21中的頂部位置;即,選項3占據(jù)了菜單21中的位置211,選項2和選項3分別向下移動到重排序位置212和21n。
對菜單選項位置的動態(tài)重排序的能力被認(rèn)為是代表了對包括但不局限于圖3所示的計算機(jī)系統(tǒng)的多種計算機(jī)系統(tǒng)的有價值的改進(jìn)。
現(xiàn)在參照圖3,在一個實(shí)施例中,計算機(jī)系統(tǒng)300包括一個處理器310,該處理器包括一個通用或?qū)S锰幚砥鳌L幚砥?10可采用微處理器、微控制器、ASIC、可編程門陣列(PGA)等。在這里,術(shù)語“計算機(jī)系統(tǒng)”可以指任何類型的基于處理器的系統(tǒng),例如大型計算機(jī)、臺式計算機(jī)、服務(wù)器計算機(jī)、手提計算機(jī)、設(shè)備、機(jī)頂盒等。
在一個實(shí)施例中,處理器310可以通過主機(jī)總線315與存儲器集線器320連接,該存儲器集線器320又通過存儲器總線325與系統(tǒng)存儲器330連接。存儲器集線器320還可通過加速圖形接口(AGP)總線333與視頻控制器335連接,該視頻控制器335與顯示器337連接。該AGP總線333符合Intel Corporation,Santa Ckara,California于1998.5.4出版的加速圖形接口說明,修訂版2.0。
存儲器集線器320還可以(通過一集線器鏈路338)與一輸入/輸出(I/O)集線器340連接,該集線器340與一輸入/輸出(I/O)擴(kuò)展總線342和一周邊元件擴(kuò)展接口(PCI)總線344連接,該P(yáng)CI總線344符合1995.6出版的PCI局部總線說明,版本為修訂版2.1。該I/O擴(kuò)展總線342可以與一個控制對一個或多個I/O裝置訪問的I/O控制器346連接。如圖3所示,這些裝置在一個實(shí)施例中可包括存儲裝置,例如軟盤驅(qū)動器350和輸入裝置,例如鍵盤352和鼠標(biāo)354。如圖3所示,I/O集線器340還可與例如硬盤驅(qū)動器356和光盤(CD)驅(qū)動器358連接。應(yīng)當(dāng)理解在計算集系統(tǒng)300中還可以包括其它存儲介質(zhì)。
在一個可選實(shí)施例中,該I/O控制器346還可集成在I/O集線器340中,實(shí)現(xiàn)其它控制功能。PCI總線344還可與不同部件連接,例如與一網(wǎng)絡(luò)端口連接的網(wǎng)絡(luò)控制器360(未示出)連接。
其它裝置也可與該I/O擴(kuò)展總線342和PCI總線344連接。這些裝置包括一輸入/輸出控制電路,該電路與并行端口、串行端口、非易失存儲器等連接。雖然上述的描述是參照系統(tǒng)300中的特定元件進(jìn)行的,但應(yīng)該考慮到對所描述和說明的實(shí)施例的多種修改和變化也是可能的。例如,主機(jī)橋路控制器和系統(tǒng)橋路控制器可以實(shí)現(xiàn)相當(dāng)于存儲器集線器320和I/O集線器340所提供的功能。另外,可以使用多種總線協(xié)議中的任意一個。
在上文所述的計算機(jī)系統(tǒng)300中,可通過圖4實(shí)現(xiàn)對本發(fā)明的一個實(shí)施例的全面理解,圖4為一個流程圖,它示出根據(jù)本發(fā)明實(shí)施例實(shí)現(xiàn)菜單選項動態(tài)重排序的方式的一個例子。在基于GUI的應(yīng)用程序的用戶操作(對應(yīng)于例如程序的打開)中的點(diǎn)401處,用戶啟動操作,在點(diǎn)402,顯示出包括多個菜單的菜單欄。在點(diǎn)403,等待用戶選擇一個菜單。當(dāng)用戶選擇一個菜單以后,這在某些時候可由鼠標(biāo)點(diǎn)擊實(shí)現(xiàn),在點(diǎn)404判斷用戶是否選擇了一個先前菜單選項重排序的目標(biāo)菜單。如果是,則在406,從存儲器中檢索該特定的重排序。用戶制定的菜單位置重排序信息可以通常存儲在例如一個配置文件中。然后,在屏幕上以重排序的位置向用戶顯示菜單選項,這些菜單選項組成用戶選擇的菜單。如果目標(biāo)菜單不是先前用戶指定的重排序的目標(biāo),則在405項用戶顯示靜態(tài)菜單選項次序。
在另一情況中,當(dāng)顯示菜單選項后,在點(diǎn)408,操作保持注意用戶接下來的進(jìn)行(初始或其他)菜單選項重排序的要求。用戶可通過傳輸菜單重排序信息的形式傳達(dá)這種菜單選項重排序。在一個實(shí)施例中,用戶通過將所述的菜單選項從它此時在菜單選項位置層次中出現(xiàn)的位置(該位置可以是靜態(tài)位置或前一個重排序后的位置)拖拽到用戶希望的位置來傳達(dá)該菜單重排序信息。例如,利用上述假設(shè)的暗示,應(yīng)用程序開發(fā)人員可將“編譯”選項移動到下拉菜單中的第一或其他顯著的位置。
由于大多數(shù)操作系統(tǒng)都可使菜單選項與拖放相關(guān),并且相應(yīng)的包括軟件邏輯來實(shí)現(xiàn)拖放用戶輸入,因此對菜單選項重排序的拖放協(xié)議被認(rèn)為是很有用的。但是應(yīng)當(dāng)注意本發(fā)明的范圍并不限制在用戶通過拖放輸入來提供菜單位置重排序信息。用戶還可以已知或正在開發(fā)的其他任何方式來提供菜單重排序信息。
在一個實(shí)施例中,應(yīng)當(dāng)向用戶提供反饋,說明計算機(jī)系統(tǒng)正在處理菜單重排序請求。特別地,在用戶選擇(例如通過鼠標(biāo)點(diǎn)擊)希望被重排序的菜單選項的實(shí)施例中,可將該菜單選項高亮度表示。當(dāng)在屏幕上拖拽菜單直到該選項到達(dá)希望的重排序位置的期間內(nèi),使被選擇的菜單表現(xiàn)出虛像。當(dāng)被選擇的菜單選項正好處于位置時,對應(yīng)的文本標(biāo)記或圖標(biāo)表示出處于重排序后的位置。當(dāng)鼠標(biāo)點(diǎn)擊釋放時,將被重排序的菜單選項處于新的位置,其他菜單選項的位置重新定位。例如,在下拉菜單中,菜單選項簡單的在菜單選項的垂直堆棧中下移。
如果沒有檢測到重排序請求,則在411執(zhí)行被選擇的菜單選項。相反,如果檢測到菜單重排序請求,則在410根據(jù)用戶提供的重排序信息執(zhí)行菜單選項的重排序。在410,保持被選擇的菜單選項的重排序狀態(tài)。在一個實(shí)施例中,如上所述和如圖4中所示,可以通過將用戶希望的次序保存在一個配置文件中來保存菜單選項重排序信息。或者,可以通過自修改軟件操作來說明用戶的需要。但是,本發(fā)明并不限定一種特定的用于保留用戶菜單選項次序偏好的技術(shù)。然后,在409,執(zhí)行被選擇的菜單操作。
下面示出簡單的偽代碼,它們用于在基于Microsoft FoundationClass的面向目標(biāo)的編程語言來實(shí)現(xiàn)菜單選項重排序<pre listing-type="program-listing"><![CDATA[  Class MyMenu inherit from CmainFram  {   bool DragHappening();   bool loadLastStateFile();  }  bool MyMeny∷DragHapping()  {   //用戶已經(jīng)開始拖動菜單,這就是為什么我們在這里   DetectWhereDropped(…)//當(dāng)拖動結(jié)束時,確定項目處于哪里   UpdateMenuFile(…)//寫入該選項所處的狀態(tài),在下一次加栽中使用  }  bool MyMenu∷LoadLastStateFile()  {  if(DoesFileExist)   {Loadlaststateinfo();//由于我們有一個文件,載入它的值  DrawNesMentu();//一旦先前載入,,提取菜單替換靜態(tài)菜單  }  }  …]]></pre>在至少一些實(shí)施例中,這里所述的動態(tài)重排序菜單選項的能力可以對基于GUI的軟件程序在進(jìn)行作業(yè)處理、電子數(shù)據(jù)表、數(shù)據(jù)庫、圖形和其它類似用途方面的使用具有不可否認(rèn)的好處。但是,如上所述,動態(tài)菜單重排序至少同樣對可能地更高級的計算機(jī)用戶,例如應(yīng)用程序軟件開發(fā)人員具有好處。歷史上,應(yīng)用程序開發(fā)人員通過使用高級的基于文本的編程語言例如BASIC、C、FORTRAN、PASCAL、COBOL等的應(yīng)用來工作。但是,近來,在應(yīng)用程序開發(fā)中,可視化編程語言已經(jīng)替代基于文本的語言,這極大的是因?yàn)榭梢暬幊陶Z言消除了手邊的編程任務(wù)和可應(yīng)用的軟件解決方案之間的抽象水平。由于目前的技術(shù)發(fā)展水平,可視化編程語言固有的為菜單驅(qū)動,因此用戶指定菜單選項重排序的能力在這種環(huán)境下是需要的。
在上面的描述中,本發(fā)明以試圖說明并且傳達(dá)對本發(fā)明的徹底理解的方式參照特定實(shí)施例進(jìn)行了闡述。但是,軟件和計算機(jī)系統(tǒng)的設(shè)計和操作領(lǐng)域的技術(shù)人員能夠意識到可以在不脫離本發(fā)明范圍的情況下,對專門描述的實(shí)施例進(jìn)行修改和變化。
例如,本發(fā)明為了方便在上下文中大量描述了Windows OS。但是,這里所述的動態(tài)菜單重排序技術(shù)還可用于其它操作系統(tǒng)中,包括現(xiàn)有的和以后開發(fā)的。另外,本發(fā)明還可使用除了下拉菜單格式外的其它格式。而且,菜單重排序信息也可由用戶以除了鼠標(biāo)點(diǎn)擊和鍵盤輸入以外的其他方式來實(shí)現(xiàn);并且也不用在用戶操作所述軟件的同時提供重排序信息。
雖然本發(fā)明已經(jīng)參照有限幾個實(shí)施例進(jìn)行了描述,本領(lǐng)域技術(shù)人員將意識到其各種修改和變化。意圖在于附加權(quán)利要求覆蓋所有這些修改和變化,使之落入本發(fā)明的精神和范圍之內(nèi)。
權(quán)利要求
1.一種方法,包括向用戶顯示多個菜單;從用戶處接收一個菜單選擇;根據(jù)該菜單選擇,向用戶顯示多個對應(yīng)于被選擇菜單的菜單選項,每個菜單選項分別占據(jù)一個靜態(tài)菜單位置;從用戶處接收菜單選項重排序信息;和根據(jù)該菜單選項重排序信息,對各菜單選項占據(jù)的菜單位置進(jìn)行重排序。
2.如權(quán)利要求1所述的方法,其中菜單選項重排序信息限定了至少一個菜單選項從一個靜態(tài)位置到用戶指定位置的重排序。
3.如權(quán)利要求2所述的方法,其中該菜單選項重排序信息是用戶以拖拉輸入的形式提供的。
4.如權(quán)利要求1所述的方法,還包括根據(jù)用戶提供的重排序信息,保持菜單選項位置信息。
5.如權(quán)利要求4所述的方法,其中該菜單選項重排序信息限定了至少一個菜單選項從一個靜態(tài)位置到用戶指定位置的重排序。
6.如權(quán)利要求5所述的方法,其中菜單選項重排序信息是用戶以拖拉輸入的形式提供的。
7.如權(quán)利要求5所述的方法,還包括向用戶顯示多個菜單;從用戶處接收一個隨后的菜單選擇;和根據(jù)該隨后的菜單選擇,向用戶顯示多個菜單選項,其中至少一個菜單選項占據(jù)一個用戶指定的位置。
8.如權(quán)利要求7所述的方法,其中菜單選項重排序信息是用戶以拖拉輸入的形式提供的。
9.如權(quán)利要求8所述的方法,其中菜單是以菜單欄的形式顯示的。
10.如權(quán)利要求8所述的方法,其中菜單選項是以下拉菜單的形式顯示的。
11.一種系統(tǒng),包括一處理器;一存儲裝置,與該處理器連接,該存儲裝置用于存儲指令,如果該指令被處理器執(zhí)行,就可以接收菜單選項重排序信息;和根據(jù)該菜單選項重排序信息,對至少一個菜單選項占據(jù)的菜單選項位置重排序。
12.如權(quán)利要求11所述的系統(tǒng),還包括指令,如果該指令被處理器執(zhí)行,就可以顯示多個菜單;接收一個菜單選擇;和根據(jù)該菜單選擇,顯示多個菜單選項,其中至少一個菜單選項占據(jù)一個由菜單選項重排序信息指定的菜單位置。
13.如權(quán)利要求11所述的系統(tǒng),還包括指令,如果該指令被處理器執(zhí)行,就可以根據(jù)菜單選項重排序信息,保持菜單選項位置信息。
全文摘要
在一個實(shí)施例中,一個菜單的動態(tài)菜單重排序是這樣實(shí)現(xiàn)的,顯示多個菜單(402);接收一個菜單選擇(403);根據(jù)該菜單選擇,顯示多個菜單選項(405),每個菜單選項分別占據(jù)一個菜單位置;接收重排序信息(408);和根據(jù)重排序信息,對至少一個菜單位置進(jìn)行重排序,該菜單位置由各菜單選項占據(jù)(409)。在另一實(shí)施例中,根據(jù)重排序信息保持菜單選項位置信息;當(dāng)菜單選擇后,顯示菜單選項,從而至少一個菜單選項占據(jù)一個用戶指定的位置。
文檔編號G06F9/44GK1573687SQ03160280
公開日2005年2月2日 申請日期2003年8月29日 優(yōu)先權(quán)日2003年5月23日
發(fā)明者T·A·克勞森 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1