使用戶界面元素對應用程式和用戶已知的系統和方法
2023-05-01 13:26:11 1
專利名稱:使用戶界面元素對應用程式和用戶已知的系統和方法
技術領域:
本發明涉及計算機軟體,尤其涉及計算機軟體的用戶界面輔助選項特徵。
背景技術:
一些個人可能無法以常用的方式與計算機用戶界面交互。例如,小圖標和類型對弱視的人提出了。可聽的警告和反饋對弱聽的人是沒用的。計算行業對這些需求很敏感。一些作業系統具有附加的輔助選項特徵,它們允許殘疾人以更適應其需求的方式來修改用戶界面。例如,一些作業系統允許用戶啟用視覺反饋,否則就使用聽覺反饋。另外,可對低視力的用戶使用超大屏幕字體和高對比度模式。對於極其弱視的人,諸如盲人,一些作業系統提供了「屏幕讀取器(screen reader)」,它向用戶敘述用戶界面的元素,或提供允許另一公司提供這一屏幕讀取器的架構。
典型的屏幕讀取器工具與用戶工作的任何應用程式並發地執行。當用戶在元素之間導航時,諸如通過用tab鍵從一個按鈕切換到另一個,屏幕讀取器向一文本-語音引擎或可刷新盲文顯示發送關於當前元素的信息,以將該信息傳達給用戶。文本-語音引擎將該信息轉換成合成的語音,以將其向用戶宣布。可刷新盲文顯示將該信息轉換成輪廓分明的點圖案(即,盲文字符),並在物理硬體設備上使對應於盲文字符中的每一點的針突起。在按鈕的情況下,屏幕讀取器通常傳達按鈕的名字以及該按鈕的當前狀態(如,當前它被禁用因此不能被按下)。類似地,如果用戶處於文字處理應用程式中,則屏幕讀取器可以被配置成識別前景窗(即,應用程式名)和當前行、句子、單詞或最接近插入點的字符。屏幕讀取器也可描述該文本的屬性,如字體名、深淺、顏色、加重和版面調整。通常,屏幕讀取器也向用戶告知用戶當前可採取什麼行動。例如,如果用戶導航到按鈕,則屏幕讀取器可通知用戶,它們可通過輕敲空間鍵按下按鈕。
屏幕讀取器對於某種程度弱視的計算機用戶是不可缺少的。一般而言,許多用戶僅僅不能在不需要輔助技術產品的情況下利用計算機,這些產品補償其移動性、感官知覺、或可通過技術來增強的其它功能的缺乏。然而,現有的軟體設計方法令諸如屏幕讀取器等輔助技術產品很難設計。如上所述,輔助技術產品通常接收當前運行的應用程式或作業系統環境本身的改變的通知。通常,這一通知採用指示焦點從一個元素(如,按鈕或列表框)改變到另一元素(如,編輯欄位、圖標等),或者新元素被創建或毀滅(如,窗口被打開或關閉)的事件的形式。與應用程式相關聯的選擇管理器引發該事件,並向作業系統通知該變化。作為響應,輔助技術產品可查詢選擇管理器,以確定什么元素與該事件相關聯(如,哪一元素具有焦點),因此它可獲得額外的信息以傳達給用戶。
當前,輔助技術產品本質上僅能夠向元素請求有限的信息集,如其類型(如,按鈕、列表框等等)、其在屏幕上的位置或其標題。輔助技術產品本身然後必須從返回的元素類型中推斷出什麼功能對用戶可用。換言之,輔助技術產品必須理解「按鈕」是什麼,以及按鈕可以被按下(調用)。因此,好的輔助技術產品的設計者必須預先定義可包括在應用程式中的所有的元素類型並標識其功能。這是不可能的任務,因為在軟體行業中,軟體公司會在例程的基礎上產生新類型的屏幕元素或控制項。另外,這是對資源的低效率使用,因為並非所有的元素都是唯一的。許多元素共享相似的功能,如被調用的功能或管理可選擇一個或多個項目的項目集合的功能。
更通用類的應用程式-自動工具具有幾乎與輔助技術產品相同的需求集。一般而言,自動工具需要如在焦點從一個控制項變化到另一個時動態地發現屏幕元素(如,控制項)的能力,無論是通過遍曆元素的對象層析還是通過接收事件通知。這些工具也需要一種向這些元素查詢可被傳達給用戶或用於稍後引用的人類可讀信息的通用機制。最後,自動工具需要發現由特定屏幕元素提供什麼功能或行為的能力,即使是在該元素對自動工具完全未知的情況下。不幸的是,以可應用到可能元素的全型譜(full spectrum)的方式發現用戶界面元素並查詢和操縱其相關聯的功能高級機制令本領域的技術人員感到困惑。
發明內容
本發明針對令用戶界面元素(或控制項)功能在編程上對應用程式可用,而不需要該元素類型的先驗知識。另外,本發明針對一種機制,用於向軟體開發者提供對可使用諸如輔助技術產品(如,盲人的屏幕讀取器)等自動工具傳達給用戶的信息的控制。簡言之,使用了控制模式來描述由一種或多種類型元素展示的功能。在兩種或多種類型元素之間公用的功能由同一控制模式描述。某些預定義的方法、結構、屬性和/或事件可以與特定的控制模式相關聯。當被查詢時,支持該控制模式的元素返回描述那些方法、結構、屬性和/或事件的接口。以這一方式,自動工具可操縱元素,而不需要該元素支持的功能的先驗知識,只要該元素能夠確認它支持特定的控制模式或控制模式組。
在另一方面,每一元素包括多個屬性,它們以人類可讀形式定義對自動工具或工具的用戶有用的一組信息。以這一方式,軟體開發者對於當描述元素時可收集並向用戶呈現什麼信息具有更大的控制,由此改進了用戶體驗。
圖1所示是可用於實現本發明的計算設備的功能框圖。
圖2所示是實現本發明的系統的屏幕顯示的功能框圖。
圖3是表示圖2所示的屏幕顯示中的元素的對象樹的圖形表示。
圖4是圖3所示的對象樹的子樹的圖形表示。
圖5是依照本發明一般示出可由輔助技術產品用於為用戶描述和操縱屏幕元素的過程的邏輯流程圖。
圖6是依照本發明一般示出用於查詢對象以確定它展現的行為的過程的邏輯流程圖。
具體實施例方式
本發明提供了一種機制,它使諸如輔助技術產品、自動測試腳本、宏記錄器或命令應用程式等自動工具能夠收集關於用戶界面元素的描述信息,並確定該元素提供的功能,而不需要知道該元素是什麼類型。簡言之,發明人確定每一元素或控制項包括自動工具感興趣的兩個方面(1)描述其外觀、位置和當前狀態的信息,以及(2)該元素展示的功能。鑑於這一確定,本發明涉及以可傳遞給用戶的方式(如,人類可讀形式)向元素分配多個屬性,包括對元素是什麼的描述。本發明還涉及標識功能組,它們可以使元素可用,並且可以直接訪問而不需要發現元素是什麼。
本發明將首先參考其中可實現本發明的說明性計算環境的一個示例來描述。
接下來,將描述本發明的一個具體實現的詳細示例。對於該具體實現的某些細節,也可包括替換的實現方式。可以理解,本發明的實施例不限於此處所描述的那些。
本發明的說明性計算環境圖1示出了可用於本發明的說明性實施例中的計算裝置。參考圖1,用於實現本發明的一個示例性系統包括計算裝置,如計算裝置100。在十分基本的配置中,計算裝置100通常包括至少一個處理單元102和系統存儲器104。根據計算裝置的確切配置和類型,系統存儲器104可以是易失(如RAM)、非易失(如ROM、快閃記憶體等)或兩者的某一組合。系統存儲器104通常包括作業系統105、一個或多個程序模塊106,並且可包括程序數據107。計算裝置100的這一基本配置在圖1中由虛線108內的組件示出。
計算裝置100可具有另外的特徵或功能。例如,計算裝置100也可包括另外的數據存儲設備(可移動和/或不可移動),如磁碟、光碟或磁帶。這類另外的存儲在圖1中由可移動存儲109和不可移動存儲110示出。計算機存儲介質可包括以用於儲存如計算機可讀指令、數據結構、程序模塊或其它數據等信息的任一方法和技術實現的易失和非易失、可移動和不可移動介質。系統存儲器104、可移動存儲109和不可移動存儲110都是計算機存儲介質的示例。計算機存儲介質包括但不限於,RAM、ROM、EEPROM、快閃記憶體或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光存儲、磁盒、磁帶、磁碟存儲或其它磁存儲設備、或可以用來儲存期望的信息並可由計算裝置100訪問的任一其它介質。任一這類計算機存儲介質可以是裝置100的一部分。計算裝置100也可具有(多個)輸入設備112,如鍵盤122、滑鼠123、輸入筆、語音輸入設備、觸摸輸入設備等等。也可包括(多個)輸出設備114,如顯示器、揚聲器、印表機等等。這些設備在本領域中是眾所周知的,無需在此詳細討論。
計算裝置100也包含允許該裝置如通過網絡與其它計算裝置118進行通信的通信連接116。通信連接116是通信介質的一個示例。通信介質通常可以諸如載波或其它傳輸機制等已調製數據信號中的計算機可讀指令、數據結構、程序模塊或其它數據實施,並包括任一信息傳送介質。術語「已調製數據信號」指以對信號中的信息進行編碼的方式設置或改變其一個或多個特徵的信號。作為示例而非局限,通信介質包括有線介質,如有線網絡或直接連線連接,以及無線介質,如聲學、RF、紅外和其它無線介質。本發明使用的術語計算機可讀介質包括存儲介質和通信介質。
本發明的說明性實現圖2所示是實現本發明的一個系統的組件的功能框圖。圖2中所示的是自動工具(如,輔助技術產品)201和應用程式202。應用程式202包括多個元素。為討論目的,術語元素指用戶界面的任一組件,用戶可與其交互,或可向用戶提供某些有意義的信息或向應用程式202提供有意義的功能。術語控制項有時候也用於表明這類元素。用戶可與應用程式202中示出的許多元素交互。例如,應用程式202包括具有多個菜單的菜單欄212,每一菜單具有相關聯的一系列菜單項。編輯菜單214包括具有多個菜單項215的下拉菜單列表。
某些元素包括在其它元素內。例如,列表視圖220包括某些圖標,如圖標222。框225包含組合框230和兩個按鈕-按鈕231和按鈕232。另外,框225和列表視圖220都包含在加選項卡的對話框元素221中。在常見的計算機技術中,包含在另一元素中的每一元素被認為是該包含元素的子元素。由此,組合框230是框225的子元素。框225和列表框220是加選項卡的對話框元素221的子元素。
用戶可以用若干方式從一個元素導航到另一元素。一種方式是操縱滑鼠指針從一個元素到另一元素。另一種方式是按下tab鍵或方向鍵。用戶所導航到的元素-「當前活動」元素被認為具有「焦點」。例如,如圖2所示,菜單項216被選中並且當前具有焦點。當用戶從一個元素導航到另一元素時,可自動向自動工具201通知獲得焦點的元素。在自動工具201是屏幕讀取器的情況下,它檢索新聚焦的元素的名字或標籤,然後向用戶「說出」該信息。屏幕讀取器可讀取活動窗口的標題、菜單選項、鍵入的文本等等。實際上,屏幕讀取器收集文本信息,然後將其傳遞到文本-語音引擎,它將該文本轉換成合成的語音輸出。儘管此處描述為屏幕讀取器,然而可以理解,自動工具可以是多種不同類型的工具的任一個,如語音和口述軟體、命令和控制工具、宏讀取器、自動測試腳本、命令工具等等。
如上所述,在過去,自動工具201僅確定當前具有焦點的元素的類型,然後使用其控制項類型(如,按鈕、菜單項、可編輯文本欄位等)來提取要傳達給用戶的控制項專用信息。如後文將要詳細描述的,依照本發明,元素被配置成包括多個公用和專用屬性,它們共同描述了該元素,並可由自動工具201用於補充用戶體驗。藉助通過這些屬性展現關於元素的信息,開發者對確定當使用利用本發明的自動工具201時將要向用戶傳達什麼信息具有更大的控制。換言之,並非局限於與屏幕上元素相關聯的基於類型的信息,而是可使自動工具201能夠向用戶傳達對特定元素的信息的任何人類可讀串,並向用戶描述該元素的行為或目的。
許多元素是交互式的,並且提供促使應用程式202以預期的方式執行的功能。例如,點擊按鈕231可能導致應用程式202的某種反應。點擊按鈕232可能導致應用程式202的某一其它反應。選中菜單項216可能導致又一其它反應。
儘管每一元素可能稍有不同,然而它們大多數都展示相似的基本功能特徵。那些基本功能特徵與元素本身的行為有關,而非與應用程式202可能發生的特定反應有關。換言之,按鈕231和232都是可點擊的,即使應用程式202可能根據點擊了哪一按鈕以不同的方式來反應。同樣,菜單項215和組合框230中的項都是可選擇的。相反,大多數不同類型的元素也具有不同的某些基本功能。例如,組合框230允許在編輯框部分233中編輯文本,而菜單項215不提供編輯其內容的能力。
發明人確定了許多類型的元素中存在的基本功能的某些模式。這一確定令「控制模式」得以建立,以描述可由元素展示的基本功能。控制模式是用於描述元素的行為的機制。更具體地,特定的控制模式可定義由元素支持的某些結構、屬性、事件和方法。元素可以(並可能的確)支持多個控制模式。由一元素支持的控制模式的集合定義了元素行為的全體。
應用程式可查詢元素是否支持特定的控制模式,以確定元素的行為。由此,如果沒有特定元素類型的先驗知識,客戶端應用程式可通過查詢它是否支持特定的控制模式來發現對該元素可用的功能。應用程式然後可通過與該控制模式相關聯的公用接口在編程上操縱元素。可創建具有些許或完全不同行為的新元素,而應用程式仍能夠通過查詢該新元素支持的控制模式來與該新元素交互。以下表格表示了一些說明性控制模式以及與該控制模式相關聯的行為集。
表1 說明性控制模式的描述由此,圖2所示的元素可用適當的控制模式來配置,以表示特定元素類型所期望的行為的類型。下表描述了一些公用元素和可用於定義那些公用元素的行為的一些控制模式
表2 公用元素的控制模式圖3是表示圖2所示的應用程式202的元素的對象樹301的圖示。應當理解,對象樹301中的一個或多個對象可以是表示應用程式202的對應元素的代理或包裝對象。然而,僅為簡明性目的,本討論將對象樹301中的每一對象作為實際元素來處理。主應用程式窗口被表示為表單對象305,應用程式202的每一元素包括對象樹301中的一個對應對象。例如,圖2中加選項卡的對話框221的每一部分具有對象樹301中一對應的選項卡項目(選項卡306、選項卡307、選項卡308)。類似地,列表視圖220和框225具有對象樹301中的對應對象(列表視圖311和框312)。父/子關係也在對象樹301中表示。例如,框對象312具有子對象(組合框320、按鈕321和按鈕322),它們對應於框225內包含的元素。
在操作中,當用戶在應用程式中從一個元素導航到另一元素時,與應用程式202相關聯的選擇管理器通知自動工具201(圖3中示出為對象)焦點已改變。在屏幕讀取器的情況下,這一焦點改變可促使自動工具201向表示具有焦點的當前元素的特定對象查詢多個屬性和該元素支持的控制模式。焦點變化僅是自動工具可選擇來向元素查詢該信息的許多可能的原因之一。
對象樹301的子樹401在圖4中示出。為進一步說明該操作,假定自動工具201是屏幕讀取器。當用戶導航到按鈕231時,屏幕讀取器可查詢其對應的對象(按鈕321),並檢索其Name(名字)屬性410-人類可讀串,以向用戶敘述。Name屬性410包含將通過有視力的用戶觀看計算機顯示屏來與該控制項相關聯的串。在這一情況下,屏幕讀取器將串「Help Button(幫助按鈕)」發送到文本-語音引擎,後者然後將該信息敘述給用戶。
另外,自動工具201可查詢按鈕321以標識由其對應的元素支持的控制模式412。在這一情況下,按鈕321的一個已標識控制模式是「Invoke(調用)」控制模式。該控制模式不僅允許客戶端應用程式查詢元素的行為,它們也允許通過為該特定控制模式設計的接口在編程上操縱該元素。在這一示例中,自動工具201可直接查詢按鈕321,以確定它是否支持Invoke控制模式。按鈕321可通過返回包括用於利用調用行為的一組方法的接口(Interface X414)指示肯定響應。在另一示例中,Selection(選中)控制模式(與組合框320相關聯)可提供方法來查詢選中的項目、選中或取消選中特定項、確定該元素支持單個還是多個選中模式等等。
通過本發明啟用的機制,可書寫理解如何用每一控制模式,而非每一UI元素或控制項而工作的自動工具。由於元素顯示的行為的全異類型相當少,因此控制模式將比元素或控制項的類型少得多。這導致對自動工具書寫較少的代碼,並鼓勵一種更靈活的自動工具體系結構,它可有效地詢問並操縱支持已知控制模式的新元素。
圖5是一般示出一過程的邏輯流程圖,它可由依賴於在UI上自動化事件的事件驅動的自動工具用於發現要向其查詢屬性信息並使用控制模式來操縱的屏幕元素。該過程通過遍歷對象層次以查找感興趣的特定元素(框510)開始,或可在循環中空閒(511)直到它接收到它先前註冊要接收的事件通知。當接收到事件通知時,過程在框513繼續。
在框513,向當前感興趣的元素查詢用戶或自動工具需要的多個屬性信息。在一個實現中,自動工具可檢索當前元素屬性,它包括供用戶消耗的人類可讀串。過程在框515繼續。
在框515,向感興趣的元素查詢控制模式支持。這樣做的一種方法在下文結合圖6描述。簡言之,為確定如何在編程上操縱元素,自動工具可查詢該元素是否支持特定類型的控制模式,或可向該元素查詢它所支持的控制模式類型。一旦已知了所支持的控制模式,過程在框517繼續。
在框517,依照其支持的控制模式操縱具有焦點的元素。例如,響應於對是否支持特定控制模式的查詢(如,框515),該元素可返回一接口,它包括實施對應於該控制模式的行為的方法。通過使用該接口,自動工具(或構建在UI自動框架上並具有適當的安全許可的任一其它客戶端)可操縱該元素。
圖6是一般示出了查詢對象以確定它所展現的行為的過程的邏輯流程圖。該過程在判斷框601開始,其中,由一事件通知或某一其它機制,如遍歷UI自動對象層次,來發現一元素(由對象表示)。
在判斷框601,確定是否需要關於具有焦點的元素的所有支持的控制模式的信息。例如,某些情況可能批准查詢元素以確定其所有功能,而非僅確定它是否以特定的期望方式表現。這一情況的一個示例可以是在調試或測試環境中。在那些情況下,過程在框603繼續。然而,自動工具通常需要知道該元素是否支持特定行為。在那些情況下,過程在框605繼續。
在框603,向感興趣的元素髮出對所支持的控制模式的查詢。該查詢可請求由該元素支持的控制模式的完整列表。查詢可僅請求列表,或者它可請求到每一所支持的控制模式的接口。作為響應,在框607,接收列表,請求工具或應用程式以任一適當的方式處理它;然而,一個常見的使用是然後使用該方法用於返回的控制模式,以在編程上操縱元素(如,使用InvokePattern.Invoke方法來按下按鈕321,並由此顯示Help(幫助)窗口)。
在框605,向元素髮出查詢以確定它是否支持特定的控制模式。在許多情況下,在方便應用程式的導航時,自動工具可以知道在應用程式中特定的一點上期望什麼功能或行為。因此,並非請求所有支持的控制模式的列表,自動工具而是可以查詢元素是否支持特定的控制模式。由此,在框605,自動工具可向元素查詢它是否支持特定的控制模式。
在判斷框609,確定是否支持特定的控制模式。例如,如果請求的控制模式不被支持,則所查詢的元素可簡單地返回失敗。在該情況下,AT工具可對另一期望的控制模式重複框605的查詢,或者如果沒有支持任何期望的控制模式,它可以終止。如果支持當前控制模式,則過程在框611繼續。自動工具可查詢對特定控制模式的支持,直到嘗試了感興趣的所有模式。應當重複,支持特定控制模式的通知可以通過簡單地向調用自動工具返回具有對應於所支持的控制模式的方法的接口來提供。
在框611,接收包括令行為與控制模式能夠相關聯的方法的接口。在這一點上,自動工具可使用相關聯的控制模式方法來依照控制模式的行為以任一適當的方法操縱該元素。可以理解,所揭示的系統、組件和過程啟用了一種機制,可通過其令用戶界面元素動態地對用戶和諸如自動工具等應用程式已知,用於編程操縱。
以上說明書、示例和數據提供了本發明的組成部分的製造和使用的完整描述。由於可以在不脫離本發明的精神和範圍的情況下作出許多實施例,本發明駐留在所附權利要求書中。
權利要求
1.一種用於編程上操縱用戶界面元素的計算機實現的方法,其特徵在於,所述方法包括向所述元素請求所述元素是否支持一控制模式,所述元素具有特定的元素類型,所述控制模式描述由多種類型的元素展示的基本功能;以及如果所述元素支持所述控制模式,則使用由對應於所述控制模式的元素展示的至少一個方法操縱所述元素,由此,基於其對所述控制模式的支持操縱了所述元素,而不需要參考所述元素的類型。
2.如權利要求1所述的計算機實現的方法,其特徵在於,所述基本功能包括預定義方法、結構、屬性或事件中的一個或多個。
3.如權利要求1所述的計算機實現的方法,其特徵在於,所述元素支持多個不同的控制模式。
4.如權利要求1所述的計算機實現的方法,其特徵在於,所述元素是由一自動工具操縱的。
5.如權利要求4所述的計算機實現的方法,其特徵在於,所述自動工具包括輔助技術產品、命令工具、自動測試腳本、宏記錄器、語音或口述軟體、或命令和控制工具。
6.如權利要求1所述的計算機實現的方法,其特徵在於,所述基本功能描述所述元素的行為以及它提供給所述用戶的功能。
7.如權利要求1所述的計算機實現的方法,其特徵在於,它還包括向所述元素請求多個屬性,它們可由一自動工具用於收集被認為對用戶重要的信息;以及將該信息傳達該用戶。
8.如權利要求1所述的計算機實現的方法,其特徵在於,所述控制模式是以下列表中的至少一個ApplicationWindow、Calendar、Commands、DescriptiveInformation、Dock、ExpandCollapse、Graphic、Grid、GridItem、HierarchyItem、Invoke、Multimedia、MultipleView、RangeValue、Rotation、Scroll、Selection、SelectionItem、Sort、Split、Table、TableItem、Text、Value、VisualInformation、Window、Zoom。
9.一種具有用於執行權利要求1所述的方法的計算機可執行指令的計算機可讀介質。
10.一種具有用於操縱元素的計算機可執行組件的計算機可讀介質,其特徵在於,包括一自動工具,它被配置成收集關於元素的信息,所述信息儲存在所述元素的屬性內,所述自動工具還被配置成通過查詢所述元素是否支持一控制模式,並且如果是,依照所述控制模式操縱所述元素,來操縱所述元素。
11.如權利要求10所述的計算機可讀介質,其特徵在於,所述控制模式包括用於描述元素的行為的手段。
12.如權利要求10所述的計算機可讀介質,其特徵在於,所述控制模式定義所述元素支持的結構、屬性、事件和方法。
13.如權利要求10所述的計算機可讀介質,其特徵在於,所述元素支持多個控制模式。
14.如權利要求10所述的計算機可讀介質,其特徵在於,所述自動工具通過一與所述控制模式相關聯的接口來操縱所述元素,所述接口由所述元素響應於對所述元素是否支持所述控制模式的查詢而返回。
15.如權利要求10所述的計算機可讀介質,其特徵在於,所述元素信息包括儲存在多個屬性內的人類可讀文本,所述人類可讀文本涉及所述元素的屬性。
16.如權利要求15所述的計算機可讀介質,其特徵在於,所述元素的屬性包括關於所述元素的信息,如果所述信息被傳達給用戶,則向用戶告知所述元素。
17.一種用元素編碼的計算機可讀介質,其特徵在於,包括標識關於所述元素的信息的多個屬性,所述屬性能夠由一自動工具傳達給用戶;以及標識一個或多個控制模式的第二欄位,每一控制模式與所述元素的一特定行為相關聯。
18.如權利要求17所述的計算機可讀介質,其特徵在於,所述屬性包括人類可讀文本串。
19.如權利要求18所述的計算機可讀介質,其特徵在於,所述人類可讀文本串還包括描述所述元素使得這一信息的傳達向用戶告知所述元素的信息。
20.如權利要求17所述的計算機可讀介質,其特徵在於,每一控制模式描述所述元素支持的結構、屬性、事件和方法。
21.如權利要求17所述的計算機可讀介質,其特徵在於,所述控制模式包括用於描述元素的基本功能的手段。
全文摘要
使用控制模式(603)描述可由兩種或多種類型元素或控制項展示的功能。在兩種或多種類型元素之間公用的功能由同一控制模式描述。某些預定義的方法、結構、屬性和/或事件可與特定的控制模式相關聯。當被查詢(605)時,支持控制模式的元素(601)返回一描述那些方法、結構、屬性和/或事件的接口(611)。控制模式在它們所表示的功能上是互斥的,因此它們可以用任意的方法組合,以展示由特定控制項提供的完整功能集。
文檔編號G09G5/00GK1678982SQ03820932
公開日2005年10月5日 申請日期2003年5月17日 優先權日2002年9月30日
發明者R·E·辛克萊爾, P·M·華格納, H·S·布恩斯, P·J·裡德, B·麥科恩 申請人:微軟公司