專利名稱::用于顯示分頁(yè)內(nèi)容并與之交互的方法和系統(tǒng)的制作方法用于顯示分頁(yè)內(nèi)容并與之交互的方法和系統(tǒng)發(fā)明領(lǐng)域本發(fā)明一般涉及計(jì)算機(jī),尤其涉及在計(jì)算機(jī)系統(tǒng)上顯示內(nèi)容。背景計(jì)算機(jī)系統(tǒng)的最常見用途之一是用于顯示文檔的內(nèi)容。當(dāng)代計(jì)算機(jī)系統(tǒng)和程序在查看文檔時(shí)提供了極大的靈活性,包括跳轉(zhuǎn)至文檔中超鏈接的位置、放大和縮小內(nèi)容、允許用戶通過(guò)指示所需頁(yè)碼來(lái)跳轉(zhuǎn)至所需頁(yè)面、滾動(dòng)和使用鍵盤鍵來(lái)導(dǎo)航文檔、以及執(zhí)行眾多其它文檔查看選項(xiàng)。然而,想要顯示分頁(yè)內(nèi)容的應(yīng)用程序開發(fā)員一般編寫代碼來(lái)提供其自己的文檔査看功能。這部分是因?yàn)槠駷橹挂话悴淮嬖诠╅_發(fā)員提供這樣的查看功能的任何其它方式,但也因?yàn)榇嬖诓煌愋偷膽?yīng)用程序和內(nèi)容,而應(yīng)用程序開發(fā)員想要提供對(duì)其特定程序和將要顯示的那種類型的內(nèi)容有意義的特征。同時(shí),內(nèi)容查看代碼提供的眾多功能和特征在各程序之間是常見的。例如,縮放、滾動(dòng)、文本搜索等可在瀏覽器、文字處理器、文檔閱讀器和其它程序中找到。將這些特征單獨(dú)編碼到每個(gè)應(yīng)用程序中將是高度低效的,且一般較不健壯,因?yàn)榇嬖诒姸嘧远x代碼,因此可能有更多的隱錯(cuò)。而且,這導(dǎo)致不一致性,因?yàn)楦鱾€(gè)應(yīng)用程序各自提供其自己的查看內(nèi)容的方式。結(jié)果,用戶僅為了查看內(nèi)容就必須學(xué)會(huì)眾多不同類型的程序及其用戶界面;有時(shí)用戶看來(lái)與另一程序所提供的特征相同的特征實(shí)際上表現(xiàn)得相當(dāng)不同。類似地,鍵組合和/或功能鍵通常隨程序不同而具有不同的意義。需要的是一種使程序包括常見的文檔査看功能和特征以使這些功能和特征跨程序一致和健壯的方式。同時(shí),任何這樣的解決方案應(yīng)是可擴(kuò)展的,以使開發(fā)員能夠添加某種程度的定制以按需修改文檔査看在給定程序中的操作。概述簡(jiǎn)要地,本發(fā)明提供了一種其中在控件中提供文檔查看器的方法和系統(tǒng),以及允許主存程序包括文檔査看器的功能并對(duì)其擴(kuò)展的應(yīng)用程序編程接口和方法。文檔査看器控件負(fù)責(zé)頁(yè)面布局、導(dǎo)航和管理與任何適當(dāng)格式化的內(nèi)容的一般用戶交互。功能包括打印、關(guān)鍵字查找、比例縮放、內(nèi)容流的多遍布局(multi-passlayout)和/或內(nèi)容導(dǎo)航。主存程序可選擇性地停用這些特征中不需要的任何特征、可激活可用但默認(rèn)是不活動(dòng)的特征、并且還可使用附加特征來(lái)擴(kuò)充文檔查看器控件。主機(jī)程序使用文檔查看器控件來(lái)在其查看區(qū)中顯示內(nèi)容。一種文檔査看控件提供默認(rèn)用戶界面,一般包括頂部的工具欄區(qū)及其下方的內(nèi)容查看區(qū)(視口)。在工具欄區(qū)中,文檔査看控件可顯示各用戶界面元素,諸如用于管理查看文檔的方式的一個(gè)或多個(gè)按鈕和其它交互式項(xiàng)目。也提供了滾動(dòng)條。默認(rèn)地,常見文檔交互功能作為經(jīng)由工具欄或菜單激活的命令來(lái)提供,以便滾動(dòng)和縮放、查找(搜索文本)以及復(fù)制??商峁┐蛴?。主存程序可選擇性地不使用所有默認(rèn)文檔查看器特征,和/或激活默認(rèn)未啟用的特征和功能。一個(gè)示例工具欄區(qū)提供了菜單按鈕、放大按鈕、縮放組合框、縮小按鈕、復(fù)制按鈕、和査找按鈕。在一個(gè)示例性實(shí)現(xiàn)中,文檔査看控件經(jīng)由公有方法展示了若干屬性和命令。文檔査看控件可包含執(zhí)行文檔査看功能的其它控件,例如處理滾動(dòng)行為的滾動(dòng)控件、處理縮放的縮放控件、對(duì)文本內(nèi)容搜索匹配文本的查找控件、布置頁(yè)面的網(wǎng)格以便用戶導(dǎo)航的布局控件、以及處理菜單相關(guān)功能的菜單控件。可返回給程序的屬性可包括內(nèi)容相關(guān)數(shù)據(jù)、頁(yè)面計(jì)數(shù)數(shù)據(jù)、第一可見頁(yè)面數(shù)據(jù)、最后可見頁(yè)面數(shù)據(jù)、水平偏移量數(shù)據(jù)、垂直偏移量數(shù)據(jù)、范圍寬度數(shù)據(jù)、范圍高度數(shù)據(jù)、視口寬度數(shù)據(jù)、視口高度數(shù)據(jù)、指示是否示出頁(yè)面邊界的數(shù)據(jù)、縮放百分比數(shù)據(jù)、網(wǎng)格列計(jì)數(shù)數(shù)據(jù)、垂直頁(yè)面間隔數(shù)據(jù)、水平頁(yè)面間隔數(shù)據(jù)、指示是否處于文檔開始處的數(shù)據(jù)、指示是否處于文檔結(jié)尾處的數(shù)據(jù)、指示文檔是否可被放大的數(shù)據(jù)、指示文檔是否可被縮小的數(shù)據(jù)、以及指示工具欄狀態(tài)的數(shù)據(jù)??捎沙绦蛟O(shè)置的屬性可包括內(nèi)容相關(guān)數(shù)據(jù)、第一可見頁(yè)面數(shù)據(jù)、水平偏移量數(shù)據(jù)、垂直偏移量數(shù)據(jù)、示出頁(yè)面邊界數(shù)據(jù)、縮放百分比數(shù)據(jù)、網(wǎng)格列計(jì)數(shù)數(shù)據(jù)、垂直頁(yè)面間隔數(shù)據(jù)、水平頁(yè)面間隔數(shù)據(jù)以及改變工具欄狀態(tài)的數(shù)據(jù)。命令包括切換工具欄命令、適合網(wǎng)格列計(jì)數(shù)命令、回流文檔命令、查看縮略圖命令、視圖適合寬度命令、以及視圖適合高度命令。在需要顯式內(nèi)容的任何時(shí)刻,文檔查看控件可默認(rèn)地作為文檔査看器來(lái)自動(dòng)提供。程序可使用其自己的定制文檔査看控件來(lái)覆蓋默認(rèn)文檔査看控件。文檔查看控件可被樣式化,使得文檔査看器的特征需求僅被指定一次來(lái)使得文檔查看器如所需地呈現(xiàn)。應(yīng)用程序可經(jīng)由樣式來(lái)簡(jiǎn)單地描述它想要的特征,且具有該樣式的文檔査看器如所指定地呈現(xiàn)。樣式可被命名,程序借此可定義文檔査看器的不同樣式,然后在程序執(zhí)行期間在適當(dāng)時(shí)改變所使用的樣式。當(dāng)結(jié)合附圖考慮以下詳細(xì)描述時(shí),其它方面將是顯而易見的,附圖中附圖簡(jiǎn)述圖1是表示其中可包括本發(fā)明的計(jì)算機(jī)系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明的各方面的其中文檔查看控件可由系統(tǒng)主存的示例性配置的表示;圖3是根據(jù)本發(fā)明的各方面示出用于與文檔查看控件交互的用戶界面元素的示例性屏幕截圖表示;圖4是根據(jù)本發(fā)明的各方面的其中示例性文檔查看控件由各種其它控件構(gòu)成的配置的框圖;以及圖5是根據(jù)本發(fā)明的各方面的用于網(wǎng)格布局的、包括滾動(dòng)相關(guān)界面的示例性布局類的表示。詳細(xì)描述示樹性操作系統(tǒng)圖1示出可在其上實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的示例。計(jì)算系統(tǒng)環(huán)境100僅是合適的計(jì)算環(huán)境的一個(gè)示例,并不旨在對(duì)本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)該把計(jì)算環(huán)境100解釋為對(duì)示例性操作環(huán)境100中示出的任一組件或其組合有任何依賴性或要求。本發(fā)明可用眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來(lái)操作。適合在本發(fā)明中使用的公知的計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括,但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微控制器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)者電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包含上述系統(tǒng)或設(shè)備中的任一個(gè)的分布式計(jì)算機(jī)環(huán)境等。本發(fā)明可在諸如程序模塊等由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的通用語(yǔ)境中描述。一般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計(jì)算環(huán)境中實(shí)現(xiàn),其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可以包括,但不限于,處理單元120、系統(tǒng)存儲(chǔ)器130和將包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干類型的總線結(jié)構(gòu)中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線和使用各種總線體系結(jié)構(gòu)中的任一種的局部總線。作為示例,而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、擴(kuò)展的ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線和外圍部件互連(PCI)總線(也被稱為Mezzanine總線)。計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能夠被計(jì)算機(jī)IIO訪問(wèn)的任何可用介質(zhì),且包括易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù);CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲(chǔ);磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備;或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)110訪問(wèn)的任何其它介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),且包含任何信息傳遞介質(zhì)。術(shù)語(yǔ)"已調(diào)制數(shù)據(jù)信號(hào)"指的是這樣一種信號(hào),其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式被設(shè)定或更改。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接的有線介質(zhì),以及諸如聲學(xué)、RF、紅外線和其它無(wú)線介質(zhì)的無(wú)線介質(zhì)。上述中任一個(gè)的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。系統(tǒng)存儲(chǔ)器130包括易失性或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),諸如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS)包含有助于諸如啟動(dòng)時(shí)在計(jì)算機(jī)110中元件之間傳遞信息的基本例程,它通常存儲(chǔ)在ROM131中。RAM132通常包含處理單元120可以立即訪問(wèn)禾口/或目前正在操作的數(shù)據(jù)和/或程序模塊。作為示例,而非限制,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。計(jì)算機(jī)110也可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作為示例,圖1示出了從不可移動(dòng)、非易失性磁介質(zhì)中讀取或向其寫入的硬盤驅(qū)動(dòng)器141,從可移動(dòng)、非易失性磁盤152中讀取或向其寫入的磁盤驅(qū)動(dòng)器151,以及從諸如CDROM或其它光學(xué)介質(zhì)等可移動(dòng)、非易失性光盤156中讀取或向其寫入的光盤驅(qū)動(dòng)器155??梢栽谑纠圆僮鳝h(huán)境下使用的其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,盒式磁帶、閃存卡、數(shù)字多功能盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等。硬盤驅(qū)動(dòng)器141通常由諸如接口140等不可移動(dòng)存儲(chǔ)器接口連接至系統(tǒng)總線121,磁盤驅(qū)動(dòng)器151和光盤驅(qū)動(dòng)器155通常由諸如接口150等可移動(dòng)存儲(chǔ)器接口連接至系統(tǒng)總線121。以上描述和在圖1中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)110提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如,在圖1中,硬盤驅(qū)動(dòng)器141被示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147在這里被標(biāo)注了不同的標(biāo)號(hào)是為了說(shuō)明至少它們是不同的副本。用戶可以通過(guò)輸入設(shè)備,諸如鍵盤162和定點(diǎn)設(shè)備161(通常指鼠標(biāo)、跟蹤球或觸摸墊)向計(jì)算機(jī)20輸入命令和信息。其它輸入設(shè)備(未示出)可以包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀、手持PC的觸敏屏或其它手寫板等。這些和其它輸入設(shè)備通常由耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但也可以由其它接口或總線結(jié)構(gòu),諸如并行端口、游戲端口或通用串行總線(USB)連接。監(jiān)視器191或其它類型的顯示設(shè)備也經(jīng)由接口,諸如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器以外,計(jì)算機(jī)也可以包括其它外圍輸出設(shè)備,諸如揚(yáng)聲器197和打印機(jī)196,它們可以通過(guò)輸出外圍接口190連接。計(jì)算機(jī)110可使用至一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接在網(wǎng)絡(luò)化環(huán)境下操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它常見網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括上文相對(duì)于計(jì)算機(jī)110描述的許多或所有元件,盡管在圖1中只示出存儲(chǔ)器存儲(chǔ)設(shè)備181。圖1中所示邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其它網(wǎng)絡(luò)。這樣的連網(wǎng)環(huán)境在辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。當(dāng)在LAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)110通過(guò)網(wǎng)絡(luò)接口或適配器170連接至LAN171。當(dāng)在WAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)IIO通常包括調(diào)制解調(diào)器172或用于通過(guò)諸如因特網(wǎng)等WAN173建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,它可以通過(guò)用戶輸入接口160或其它合適的機(jī)制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,相對(duì)于計(jì)算機(jī)110描述的程序模塊或其部分可以存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例,而非限制,圖1示出了遠(yuǎn)程應(yīng)用程序185駐留在存儲(chǔ)器設(shè)備181上。可以理解,所示的網(wǎng)絡(luò)連接是示例性的,且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它手段。分謝禁f示微互本發(fā)明一般針對(duì)作為控件來(lái)提供的文檔查看器,它本質(zhì)上是可由另一程序主存以便向程序提供某些功能的對(duì)象。該文檔查看器控件提供負(fù)責(zé)頁(yè)面布局、導(dǎo)航和管理與任何適當(dāng)格式化的內(nèi)容的一般用戶交互的交互式查看解決方案。例如,在一個(gè)實(shí)現(xiàn)中,該文檔查看器控件允許查看實(shí)現(xiàn)iDocumentPaginator(文檔分頁(yè)器)接口的任何內(nèi)容,以及實(shí)現(xiàn)文檔査看器控件的自定義解決方案。根據(jù)本發(fā)明的各方面,作為對(duì)象,文檔查看器控件可被添加至任何適當(dāng)配置的應(yīng)用程序。程序可自動(dòng)或顯式地例如通過(guò)標(biāo)記來(lái)調(diào)用文檔査看器控件。一旦被添加,文檔査看器提供一組核心特征,包括使用頁(yè)面網(wǎng)格的混合格式(用于基于可用空間來(lái)調(diào)節(jié)例如文本換行的大小和/或固定內(nèi)容和/或可回流內(nèi)容)布局、打印、關(guān)鍵字查找、比例縮放、內(nèi)容流的多遍布局和/或內(nèi)容導(dǎo)航。主存程序可選擇性地停用那些特征中不需要的任何特征、可激活可用但默認(rèn)為不活動(dòng)的特征、并且還可使用附加特征來(lái)擴(kuò)充文檔查看器控件。如可以理解的,實(shí)現(xiàn)本發(fā)明的眾多方式都是可行的,但僅在此處描述替換方式中的某一些。例如,以下將主要參考合成控件對(duì)象模型來(lái)描述本發(fā)明,其中文檔査看控件包含提供其某些功能的其它控件。然而,這對(duì)本發(fā)明而言不是必需的,其它模型,諸如其中文檔查看器直接包括查看功能、特征和邏輯而不包含其它對(duì)象的模型也是可行的。因此,本發(fā)明不限于此處所述的任何特定示例或?qū)崿F(xiàn),而是可按照一般在計(jì)算時(shí)提供好處和優(yōu)點(diǎn)的各種方式來(lái)使用。轉(zhuǎn)向圖2,示出了表示其中本發(fā)明可根據(jù)本發(fā)明的各方面來(lái)操作的示例性配置的框圖。該配置包括主機(jī)(例如,應(yīng)用程序)程序200和在其被稱為視口210的查看區(qū)中顯示內(nèi)容的文檔查看控件204,其中如此處所使用的,文檔本質(zhì)上包括任何類型的可見內(nèi)容,因此可包括文本、圖形、動(dòng)畫文本和/或圖形、以及視頻、或其任何組合。主機(jī)程序200包括在諸如圖1的計(jì)算機(jī)系統(tǒng)120等計(jì)算機(jī)系統(tǒng)上執(zhí)行的計(jì)算機(jī)程序,且可以是常規(guī)應(yīng)用程序、操作系統(tǒng)組件或?qū)嵱贸绦?、另一控件等。文檔査看控件204在一個(gè)實(shí)現(xiàn)中名為DocumentViewer,它提供默認(rèn)用戶界面,一般包括位于頂部的工具欄區(qū)212及其下方的內(nèi)容査看區(qū)(視口210)。在工具欄區(qū)212中,文檔查看控件204可顯示用戶界面元素,諸如用于管理查看文檔的方式的一個(gè)或多個(gè)按鈕和其它交互式項(xiàng)目。在圖2的示例文檔査看器屏幕截圖中也示出了允許用戶在視口210內(nèi)滾動(dòng)內(nèi)容的滾動(dòng)條用戶界面元素214。在一個(gè)示例實(shí)現(xiàn)中,文檔查看控件204默認(rèn)地提供多個(gè)常見文檔交互功能,例如用于導(dǎo)航、査找(搜索文本)、復(fù)制和縮放。打印是可默認(rèn)提供的用戶交互功能的另一示例。根據(jù)本發(fā)明的各方面,如下所述,應(yīng)用程序可簡(jiǎn)單地"插入"控件來(lái)具有其默認(rèn)功能。主存程序200可例如通過(guò)移除、隱藏、禁用和/或覆蓋默認(rèn)值來(lái)選擇性地不使用所有默認(rèn)文檔查看器特征。程序200也可激活默認(rèn)未啟用的特征和功能。作為某些默認(rèn)特征的示例,圖3是示出根據(jù)本發(fā)明的各方面的在操作中的文檔查看控件204的一個(gè)示例性視圖的屏幕截圖。在該表示中,文檔査看控件204的工具欄區(qū)212包括工具欄項(xiàng)目321-325,包括菜單按鈕320、放大按鈕321、縮放組合框322、縮小按鈕323、復(fù)制按鈕324和査找按鈕325。注意到,其它按鈕(諸如打印按鈕)沒(méi)有出現(xiàn),因?yàn)樗鼈兡J(rèn)未提供,或即使默認(rèn)提供了也已經(jīng)被不想要提供相應(yīng)功能的主存程序停用。還注意到,文檔查看控件204和/或主存應(yīng)用程序200可提供允許用戶例如通過(guò)允許添加附加的工具欄項(xiàng)目和移除任何現(xiàn)有的工具欄項(xiàng)目來(lái)定制工具欄的界面。在一般在圖4中表示的一個(gè)示例性實(shí)現(xiàn)中,文檔査看控件204包括當(dāng)被實(shí)例化、主存和執(zhí)行時(shí)可經(jīng)由公有方法440展示若干屬性和命令的對(duì)象。通過(guò)公有方法440,文檔查看控件204可提供對(duì)其自己的功能的訪問(wèn),并且還可提供對(duì)其它所包含的控件441-446的訪問(wèn)來(lái)執(zhí)行其它文檔查看功能。例如,文檔查看控件204可包含處理滾動(dòng)行為的滾動(dòng)控件441、處理縮放的縮放控件442、對(duì)文本內(nèi)容搜索匹配文本的查找控件443、布置頁(yè)面的網(wǎng)格以便用戶導(dǎo)航的布局控件444、以及處理菜單相關(guān)功能,諸如包括當(dāng)最小化工具欄時(shí)提供供用戶交互式地發(fā)出命令的替換方式的菜單控件445。滾動(dòng)、縮放和布局一般分別在題為6^fem/orZoow/"gz7oWo/尸ag/"afe(iCo"e"/"、禾口"AfeAoci;yWem/brZa少/"g(9z^尸ag/"。^/Co她"f/orP7ewf"g"的共同待批的美國(guó)專利申請(qǐng)中描述,這些申請(qǐng)均轉(zhuǎn)讓給本發(fā)明的受讓人并與本發(fā)明同時(shí)提交,且通過(guò)引用包含在此。其它控件(例如,處理"復(fù)制"操作的控件)可被包含在文檔査看控件204中,如在圖4中由框446表示的。注意到,盡管未在圖4中特別示出,但這些控件441-446中的某一些或全部可獨(dú)立地公有地展示?;氐綀D3中所表示的示例實(shí)現(xiàn),文檔查看器的工具欄區(qū)212提供展示諸如縮放、復(fù)制和査找等文檔查看控件的用戶界面項(xiàng)目。其中某一些被連系至文檔査看控件204本機(jī)處理的命令,但諸如縮放等某一些被數(shù)據(jù)綁定至關(guān)于文檔査看控件204的屬性。工具欄可例如通過(guò)"ToogleToolbar"命令來(lái)最小化和最大化。當(dāng)被最大化時(shí),工具欄包括工具欄控件位于其中的面板;在處于最小化狀態(tài)時(shí),除菜單項(xiàng)目以外,工具欄不可見。工具欄中的每一控制按鈕被給予一標(biāo)識(shí)符和"選項(xiàng)卡"順序,以便于訪問(wèn)和測(cè)試。在示例從左自右順序中,工具欄中的第一個(gè)用戶界面元素是菜單按鈕,當(dāng)其被最小化時(shí)展示最大化的工具欄中通??捎玫耐唤M命令。這些菜單項(xiàng)目(及其相關(guān)聯(lián)的命令)可包括復(fù)制-ApplicationCommands.Copy、查找-ApplicationCommands.Find、打印-ApplicationCommands.Print、放大-NavigationCommands.IncreaseZoom、縮小-NavigationCommands.DecreaseZoom、顯示/隱藏工具欄-documentviewingcontrol.ToogleToolbar。菜單按鈕可通過(guò)對(duì)菜單控件的屬性(例如,IsMouseOver(鼠標(biāo)在上方)和IsMousePressed(鼠標(biāo)被按下))上的PropertyTriggers(屬性觸發(fā)器)的使用來(lái)基于鼠標(biāo)活動(dòng)改變外觀。這些命令中的某一些或全部可被連系至標(biāo)準(zhǔn)命令庫(kù)。當(dāng)經(jīng)由點(diǎn)擊或經(jīng)由菜單激活時(shí),縮小按鈕使得文檔查看控件縮小當(dāng)前文檔。類似地,當(dāng)放大按鈕被激活時(shí),它使得文檔査看控件對(duì)當(dāng)前文檔放大。縮放組合框包含各種預(yù)定義的"縮放檔(ZoomStop)"和其它縮放相關(guān)設(shè)置(例如,"100%"、"50%"、"1頁(yè)"等)。文檔査看控件的縮放組合框可按照DocumentViewer的樣式來(lái)實(shí)現(xiàn),從而將DocumentViewer的DocumentLayout(文檔布局)屬性數(shù)據(jù)綁定至ComboBox(組合框)的SelectedltemValue(所選項(xiàng)目值)屬性?;蛘?,開發(fā)員可使用命令或?qū)傩詠?lái)直接設(shè)置網(wǎng)格列的數(shù)目和/或縮放百分比。組合框中的每一條目可以是DocumentLayout類型的樣式化數(shù)據(jù)項(xiàng),借此當(dāng)選中組合框中的一個(gè)項(xiàng)目時(shí),可更新文檔查看控件的頁(yè)面布局。激活查找按鈕會(huì)調(diào)用文檔査看控件的查找對(duì)話框。復(fù)制使得TextEdits(文本編輯器)(例如,附加于文檔査看控件204)將用戶當(dāng)前標(biāo)記的選擇復(fù)制到剪貼板,而打印調(diào)用打印對(duì)話框。文檔查看控件的內(nèi)容區(qū)被稱為視口210,它按頁(yè)面的一列或多列的行來(lái)顯示文檔內(nèi)容,如由布局控件布置在網(wǎng)格中那樣。此區(qū)中的用戶界面元素可包括水平和/或垂直滾動(dòng)條。也可提供上下文菜單,它例如包含與工具欄中的菜單按鈕相同的項(xiàng)目,并被附加于相同的命令。文檔査看控件經(jīng)由滾動(dòng)控件441為文檔查看控件的內(nèi)容提供了滾動(dòng)功能,這在一個(gè)實(shí)現(xiàn)中被稱為ScrollViewer(滾動(dòng)?xùn)丝雌?。布局控件444(例如,名為DocumentGrid(文檔網(wǎng)格))是文檔查看控件的ScrollViewer所使用的IScrollInfo(滾動(dòng)信息)對(duì)象,并且負(fù)責(zé)以靈活的方式顯示文檔內(nèi)容。注意到,DocumentGrid是內(nèi)部控件,且不能在文檔査看控件的樣式中直接指定。如圖5中一般表示的,DocumentGrid實(shí)現(xiàn)IDocumentScrollInfo(文檔滾動(dòng)信息)(它實(shí)現(xiàn)IScrollInfo),且被設(shè)置為ScrollViewer的孩子。ScrollViewer通過(guò)IScollInfo接口將基于滾動(dòng)的信息傳輸給DocumentGrid;類似地,文檔査看控件通過(guò)IDocumentScrollInfo(或IDocumentPresentationlnfo(文檔呈現(xiàn)信息))接口將基于頁(yè)面導(dǎo)航/布局的信息傳輸給DocumentGrid。文檔查看控件將設(shè)置IDocumentPresentationlnfo來(lái)更新DocumentGrid的縮放、偏移量等,且DocumentGrid將調(diào)用文檔查看控件的InvalidatePresentationInfo()(無(wú)效呈現(xiàn)信息)方法以便使文檔査看控件與在DocumentGrid上改變的屬性同步。根據(jù)本發(fā)明的各方面,文檔查看控件展示了若干屬性和命令。下表包括可由文檔査看控件204的一個(gè)實(shí)現(xiàn)展示的某些示例性屬性和命令<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>}〃用于樣式化要求的附加依賴性屬性publicDependencyPropertyContentHostProperty;〃由DocumentViewer(即,不在CommandLibrary中)工具欄所展示的公有命令publicCommandToggleToolbar;〃布局相關(guān)PublicCommandpublicCommandpublicCommandpublicCommandpublicCommandFitToGridCol謡nCount;ReflowDocument;ViewThumbnails;ViewFitToWidth;ViewFitToHeight;文檔查看控件204的屬性和命令可由應(yīng)用程序200訪問(wèn)。指示"get"的屬性是可讀的。指示"get"和"set"的屬性既是可讀也是可寫的??梢匀菀椎卣J(rèn)識(shí)到,其它屬性和命令可被包括在內(nèi)和/或以上屬性和命令中的某一些可被刪除或修改,而不背離本發(fā)明的精神或范圍。而且,上述屬性和命令是示例性的,并且可容易地認(rèn)識(shí)到,可使用其它數(shù)據(jù)結(jié)構(gòu)、定義、技術(shù)和方法來(lái)實(shí)現(xiàn)文檔査看控件204的各方面,而不背離本發(fā)明的精神或范圍。以下提供了關(guān)于屬性和命令的附加細(xì)節(jié)<formula>formulaseeoriginaldocumentpage14</formula>PageCount返回加載到文檔查看控件(DocumentViewer)的當(dāng)前頁(yè)面數(shù)目。該數(shù)目將增加直到分頁(yè)完成,此時(shí)它將指示文檔中的總頁(yè)數(shù)。<formula>formulaseeoriginaldocumentpage14</formula>當(dāng)被查詢時(shí),F(xiàn)irstVisiblePage返回屏幕上可見的第一個(gè)頁(yè)面。這或者是自左至右內(nèi)容的最左上側(cè)的可見頁(yè)面,或者是自右至左內(nèi)容的最右上側(cè)的可見頁(yè)面。當(dāng)被設(shè)置時(shí),文檔查看控件調(diào)用IDocumentPresentationlnfo.MakePageVisible(),它試圖在可能的情況下使所指定的頁(yè)面,即最左上側(cè)(或最右上側(cè))頁(yè)面可見。這并不總是可行的(例如,處于文檔的頂部或底部時(shí)或?qū)Χ嘤谝涣胁季謺r(shí)),因此可能存在其中被分配給FirstVisiblePage的值與所讀回的值不同的情況。FirstVisiblePage是1索引的,以便使得數(shù)據(jù)綁定至用戶界面更有用。小于1或大于PageCount的值將使該值限幅至范圍內(nèi)。設(shè)置FirstVisiblePage將導(dǎo)致LastVisiblePage被更新。publicintLastVisiblePage{get;)■當(dāng)被查詢時(shí),LastVisiblePage返回屏幕上可見的最后一個(gè)頁(yè)面。這或者是自左至右內(nèi)容的最右下側(cè)可見頁(yè)面,或者是自右至左內(nèi)容的最左下側(cè)頁(yè)面。LastVisiblePage是1索引的,以便使得數(shù)據(jù)綁定至用戶界面更有用。小于1或大于PageCount的值將使得該值被限幅至范圍內(nèi)。publicdoubleHorizontalOffset{get-set/}給定當(dāng)前頁(yè)面布局,HorizontalOffset以像素為單位來(lái)指示文檔中的當(dāng)前水平位置。HorizontalOffset為0索引的;小于0或大于ExtentWidth的值可被限幅至范圍內(nèi)。publicdoubleVerticalOffset{get-set,}給定當(dāng)前頁(yè)面布局,VerticalOffset以像素為單位來(lái)指示文檔中的當(dāng)前垂直位置。VerticalOffset為0索引的;小于0或大于ExtentHeight的值可被限幅至范圍內(nèi)。publicdoubleExtentWidth{get7)ExtentWidth指示文檔布局的當(dāng)前寬度。publicdoubleExtentHeight{get7)■ExtentHeight指示文檔布局的當(dāng)前高度。publicdoubleViewportWidth{get7}ViewportWidth指示DocumentViewer的內(nèi)容區(qū)(視口)的當(dāng)前寬度。publicdoubleViewportHeight{get/}ViewportHeight指示DocumentViewer的內(nèi)容區(qū)(視口)的當(dāng)前高度。publicboolShowPageBorders{get7set7}ShowPageBorders允許開發(fā)員啟用或禁用文檔查看控件中正顯示的頁(yè)面周圍的"陰影"。publicdoubleZoomPercentage^get,set7}這是被展示來(lái)使得數(shù)據(jù)綁定至UI成為簡(jiǎn)單任務(wù)的"方便"屬性(例如,創(chuàng)建允許用戶設(shè)置縮放的簡(jiǎn)單的TextBox(文本框))?;谧詈蟮腪oomPercentage設(shè)置或頁(yè)面適合調(diào)用來(lái)返回有效的縮放百分比。小于百分之五或大于百分之一千的值可被限幅至范圍內(nèi)。ZoomPercentage屬性也可與可分析帶有"%"符號(hào)的串的TypeConverter(類型轉(zhuǎn)換器)相關(guān)聯(lián)。可見,數(shù)據(jù)綁定UI(例如,TextBox)可將ZoomPercentage的值顯示為"100%"而非"100"。此外,它允許在標(biāo)記中使用"%"符號(hào),即<DocumentViewerZoomPercentage="100%">。publicintGridColumnCount{get7set7.}這是被展示來(lái)使得數(shù)據(jù)綁定至UI成為簡(jiǎn)單任務(wù)的'"方便"屬性(例如,創(chuàng)建允許用戶設(shè)置所顯示頁(yè)面的所顯示列數(shù)的簡(jiǎn)單的TextBox)。返回所顯示的頁(yè)面的列數(shù)。當(dāng)被設(shè)置時(shí),它將使得指定數(shù)目的列被布置(但不適合視圖)。小于l或大于文檔頁(yè)數(shù)的值將被限幅至范圍內(nèi)。publicIDocumentPaginatorContent{get7set7}內(nèi)容展示了通過(guò)IAddChild接口加載到文檔査看控件內(nèi)的當(dāng)前IDocumentPaginator內(nèi)容樹并允許操縱內(nèi)容。當(dāng)內(nèi)容被添加或移除時(shí),它從文檔查看控件的LogicalTree(邏輯樹)中添加或移除。然而,當(dāng)經(jīng)由樣式化來(lái)調(diào)用文檔査看控件時(shí),情況并不如此。在這種情況中,什么也不做;用于確定文檔査看控件是否已經(jīng)經(jīng)由樣式化調(diào)用的當(dāng)前檢査為"if(this.StyledParent==null)"。publicboolIsAtStart{get;}指示文檔查看控件(DocumentViewer)是否位于當(dāng)前文檔的頂部。在DocumentViewer樣式中用于使用PropertyTriggers來(lái)啟用/禁用導(dǎo)航按鈕。publicboolIsAtEnd{getj}指示文檔查看控件是否位于當(dāng)前文檔的底部。在DocumentViewer樣式中用于使用PropertyTriggers來(lái)啟用/禁用導(dǎo)航按鈕。boolCanZoomlii{get7}指示文檔查看控件是否能進(jìn)一步放大(即,當(dāng)前是否位于最高"縮放檔")。在DocumentViewer樣式中用于使用PropertyTriggers來(lái)啟用/禁用縮放按鈕。publicboolCanZoomOut{get7}指示文檔查看控件是否能進(jìn)一步縮小(即,當(dāng)前是否位于最低"縮放檔")。在DocumentViewer樣式中用于使用PropertyTriggers來(lái)啟用/禁用縮放按鈕。publicboolIsToolbarMaximized{get;set7}指示/設(shè)置工具欄的當(dāng)前狀態(tài)一一它是被最小化、最大化還是被禁用了。在DocumentViewer樣式中用以基于其所報(bào)告的狀態(tài)來(lái)顯示/隱藏工具欄。趙publicCommandToggleToolbax調(diào)用該命令使得文檔查看控件(DocumentViewer)將"IsToolbarMaximized"屬性在真與假之間來(lái)回切換。如果樣式作者選擇使用IsToolbarMaximized屬性,這將使得UI基于DocumentViewer的樣式中的PropertyTriggers改變。publicCommandFitToGridColumnCount該命令將使得當(dāng)前列布局(如由GridColumnCount(網(wǎng)格列計(jì)數(shù))指定的)精確適合當(dāng)前視口。17publicCommandReflowDocument該命令將使得文檔中的任何可回流內(nèi)容被重新分頁(yè)來(lái)適于當(dāng)前視口,同時(shí)顯示當(dāng)前指定的列計(jì)數(shù)。publicCommandViewThumbnails將DocumentViewer.DocumentLayout置為DocumentLayout(DocumentLayoutType.Thumbnail)。publicCommandViewFitToWidth將DocumentViewer.DocumentLayout置為DocumentLayout(DocumentLayoutType.FitToWidth)。publicCommandViewFitToHeight將DocumentViewer.DocumentLayout置為DocumentLayout(DocumentLayoutType.FitToHeight)。外部命令存在文檔查看控件(DocumentViewer)將處理但不會(huì)自己實(shí)現(xiàn)的各種命令。示例包括ApplicationContmands.Find調(diào)用DocumentViewer的查找對(duì)話框。ApplicationCoromands.Print調(diào)用DocumentViewer的打印對(duì)話框。ComponentCommands.ScrollPageUp/Down使得DocumentViewer按視口上/下滾動(dòng)。ComponentCommands.MoveUp/Down使得DocumentViewer按16像素上/下滾動(dòng)。ComponentCommands.MoveLeft/Right使得DocumentViewer按16像素左/右滾動(dòng)。ComponentCommaiids,MoveToHome/End使得DocumentViewer移動(dòng)至文檔的開頭/結(jié)尾。ComponentCommands,ScrollByliiiie使得DocumentViewer按指定的行數(shù)向上或向下滾動(dòng)。NavigationCommands.Zoom將DocumentViewer的縮放置為指定水平。NavigationCommandsIncreaseZoom/DecireaseZooni使的DocumentViewer對(duì)內(nèi)容進(jìn)行放大/縮小。NavigationCommandsGotoNextPage/GotoPrevioiusPage使的DocumentViewer滾動(dòng)至頁(yè)面的下一/前一行。DocumentViewer接口實(shí)現(xiàn)文檔查看控件的IServiceProvider(服務(wù)提供者)實(shí)現(xiàn)將展示DocumentGrid的TextView(文本查看)服務(wù),以允許訪問(wèn)文檔中的底層文本。文檔查看控件的IAutomationPatternProvider(自動(dòng)模式提供者)接口處理對(duì)UIAutomation(UI自動(dòng)化)TextPattem(文本模式)的請(qǐng)求,這允許Automation(自動(dòng)化)系統(tǒng)訪問(wèn)所顯示文檔的文本內(nèi)容。IEnsureVisible(確??梢?允許開發(fā)員強(qiáng)制使文檔中的某些元素可見。這可用于支持超鏈接和某些可訪問(wèn)性功能。IAddChild(添加孩子)允許將文檔內(nèi)容添加到文檔查看控件的邏輯樹。僅可添加一個(gè)孩子,且它必須是非空IDocumentPaginator。如果未滿足這些準(zhǔn)則,則可拋出異常。在其中用戶界面元素經(jīng)由經(jīng)解釋的標(biāo)記來(lái)顯示的一個(gè)實(shí)現(xiàn)中,只要需要顯示內(nèi)容,文檔查看控件204就默認(rèn)地作為文檔査看器來(lái)提供。然而,提供了顯著的靈活性以允許程序以其自己定制的文檔查看控件來(lái)覆蓋默認(rèn)文檔查看控件204。如可從以上的API中看到,這源自設(shè)置API的眾多屬性的能力。文檔查看控件可被樣式化,使得文檔査看器的特征僅需被指定一次來(lái)使得文檔査看器如所需地呈現(xiàn)。作為示例,考慮以下標(biāo)記(其中DV表示DocumentViewer):<App><App.Resources>...DV.Background=Yellow</App.Resources><DV></DV></App>_一般而言,如果需要對(duì)默認(rèn)進(jìn)行任何改變,則程序開發(fā)員僅需指定文檔查看器是所需的程序資源,并指示所需的一個(gè)或多個(gè)改變。以上標(biāo)記(大多數(shù)情況下)得到具有黃色背景的默認(rèn)文檔查看器;按鈕、超鏈接等可被類似地改變。注意到,在一個(gè)實(shí)現(xiàn)中,內(nèi)容和布局可以不被樣式化,且有效的文檔查看控件樣式需要包含以documentviewingcontrol.ContentHost附加屬性標(biāo)記的ScrollViewer(滾動(dòng)查看器)控件。當(dāng)文檔査看控件檢測(cè)到應(yīng)用了樣式時(shí),它會(huì)走查可視樹并搜索該標(biāo)記的元素。如果找不到,或如果所標(biāo)記的元素不是ScrollViewer,則它將拋出異常。如果找到了正確的ScrollViewer,則文檔査看控件將實(shí)例化DocumentGrid控件(用于布局),使其成為ScrollViewer的內(nèi)容,并允許DocumentGrid控件與ScrollViewer對(duì)話。因此,樣式屬性可用于使文檔査看器如用戶所需地呈現(xiàn)。應(yīng)用程序可簡(jiǎn)單地經(jīng)由樣式來(lái)描述其所想要的特征,且具有該樣式的文檔查看器如所指定地呈現(xiàn)。然而注意到,內(nèi)容未被樣式化。樣式可指定諸如是否支持在某種水平上放大和縮小、要顯示的頁(yè)的列數(shù)等特征。即使API提供這樣做的能力,但給定的程序可能不使用每個(gè)可用特征。因此,例如樣式化的文檔査看控件可在程序中用來(lái)提供有限特征以便使用戶關(guān)注于定制文檔査看器,例如可顯示具有后退和下一按鈕的單個(gè)頁(yè)面,而沒(méi)有縮放選項(xiàng)。還注意到,樣式可被命名。因此,例如程序可定義文檔查看器的不同樣式,然后在適當(dāng)?shù)臅r(shí)間改變所使用的樣式,例如通過(guò)在程序中的一個(gè)時(shí)間指定一個(gè)文檔査看器樣式等于"XYZ"文檔查看器,在另一時(shí)間指定要使用的該文檔查看器等于"ABCD"文檔查看器,以此類推。例如,程序可改變與正顯示的內(nèi)容類型一起使用的文檔査看器,例如固定內(nèi)容具有一個(gè)文檔查看器,而基于可用空間調(diào)節(jié)(例如,文本換行)的可回流內(nèi)容可經(jīng)由不同樣式化的査看器顯示。如可從前述詳細(xì)描述中看到,提供了允許程序以跨程序一致且健壯的方式提供文檔查看功能和特征的方法和系統(tǒng)。該方法和系統(tǒng)是可定制且可擴(kuò)展的。盡管本發(fā)明易于進(jìn)行各種修改和替換構(gòu)造,其某些所示實(shí)施例在附圖中示出并在以上詳細(xì)描述。然而,應(yīng)理解,并不旨在將本發(fā)明限于所公開的特定形式,而是相反,意圖是覆蓋落入本發(fā)明的精神和范圍內(nèi)的所有修改、替換構(gòu)造、和等效方式。權(quán)利要求1.在一個(gè)計(jì)算系統(tǒng)中,一種方法,包括提供供另一程序主存的文檔查看控件,所述文檔查看控件包括至少一個(gè)接口的接口集;在所述文檔查看控件的接口集處接收來(lái)自調(diào)用程序的功能調(diào)用;以及響應(yīng)于功能調(diào)用,提供文檔查看功能來(lái)允許所述調(diào)用程序顯示文檔的內(nèi)容。2.如權(quán)利要求1所述的方法,其特征在于,提供文檔査看功能包括改變所顯示文檔的縮放水平。3.如權(quán)利要求l所述的方法,其特征在于,提供文檔查看功能包括在所述文檔中滾動(dòng)以改變顯示內(nèi)容的方式。4.如權(quán)利要求l所述的方法,其特征在于,提供文檔查看功能包括復(fù)制所述文檔中的所選內(nèi)容。5.如權(quán)利要求1所述的方法,其特征在于,還包括響應(yīng)于功能調(diào)用來(lái)提供文檔打印功能。6.如權(quán)利要求l所述的方法,其特征在于,所述在接口集處接收來(lái)自調(diào)用程序的功能調(diào)用包括,接收獲取屬性值的請(qǐng)求。7.如權(quán)利要求6所述的方法,其特征在于,所述接收獲取屬性值的請(qǐng)求包括,接收對(duì)一組中至少一個(gè)屬性的值的請(qǐng)求,所述組包含內(nèi)容相關(guān)數(shù)據(jù)、頁(yè)面計(jì)數(shù)數(shù)據(jù)、第一可見頁(yè)面數(shù)據(jù)、最后可見頁(yè)面數(shù)據(jù)、水平偏移量數(shù)據(jù)、垂直偏移量數(shù)據(jù)、范圍寬度數(shù)據(jù)、范圍高度數(shù)據(jù)、視口寬度數(shù)據(jù)、視口高度數(shù)據(jù)、指示是否示出頁(yè)面邊界的數(shù)據(jù)、縮放百分比數(shù)據(jù)、網(wǎng)格列計(jì)數(shù)數(shù)據(jù)、垂直頁(yè)面間隔數(shù)據(jù)、水平頁(yè)面間隔數(shù)據(jù)、指示是否位于文檔開始處的數(shù)據(jù)、指示是否位于文檔結(jié)尾處的數(shù)據(jù)、指示文檔是否可被放大的數(shù)據(jù)、指示文檔是否可被縮小的數(shù)據(jù)、以及指示工具欄狀態(tài)的數(shù)據(jù)。8.如權(quán)利要求l所述的方法,其特征在于,所述在接口集處接收來(lái)自調(diào)用程序的功能調(diào)用包括,接收改變屬性值的請(qǐng)求。9.如權(quán)利要求8所述的方法,其特征在于,所述接收改變屬性值的請(qǐng)求包括,接收改變一組中至少一個(gè)屬性的值的請(qǐng)求,所述組包含內(nèi)容相關(guān)數(shù)據(jù)、第一可見頁(yè)面數(shù)據(jù)、水平偏移量數(shù)據(jù)、垂直偏移量數(shù)據(jù)、顯示頁(yè)面邊界數(shù)據(jù)、縮放百分比數(shù)據(jù)、網(wǎng)格列計(jì)數(shù)數(shù)據(jù)、垂直頁(yè)面間隔數(shù)據(jù)、水平頁(yè)面間隔數(shù)據(jù)和改變工具欄狀態(tài)的數(shù)據(jù)。10.如權(quán)利要求1所述的方法,其特征在于,所述在接口集處接收來(lái)自調(diào)用程序的功能調(diào)用包括接收命令。11.如權(quán)利要求IO所述的方法,其特征在于,所述接收命令包括,接收一組中的至少一個(gè)命令,所述組包含切換工具欄命令、適合網(wǎng)格列計(jì)數(shù)命令、回流文檔命令、査看縮略圖命令、視圖適合寬度命令、以及視圖適合高度命令。12.—種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令在被執(zhí)行時(shí)執(zhí)行如權(quán)利要求1所述的方法。13.在具有可執(zhí)行計(jì)算機(jī)程序的計(jì)算環(huán)境中,一種系統(tǒng),包括-文檔查看控件,用于顯示文檔的內(nèi)容,所述文檔查看控件提供至少一個(gè)默認(rèn)特征來(lái)允許用戶與所顯示的內(nèi)容交互;以及所述文檔查看控件的接口集,通過(guò)所述接口集所述可執(zhí)行計(jì)算機(jī)程序調(diào)用所述文檔査看控件來(lái)向所述計(jì)算機(jī)程序提供文檔査看功能。14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述程序通過(guò)覆蓋至少一個(gè)默認(rèn)特征來(lái)定制所述文檔查看控件的至少一部分。15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述程序經(jīng)由樣式來(lái)定制所述文檔查看控件的至少一部分。16.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述文檔查看控件包含與顯示文檔內(nèi)容相關(guān)的至少一個(gè)其它控件的控件集。17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述控件集包括滾動(dòng)相關(guān)控件、縮放相關(guān)控件、查找相關(guān)控件、布局相關(guān)控件、菜單相關(guān)控件、以及復(fù)制相關(guān)控件。18.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述接口提供對(duì)屬性和命令的訪問(wèn),所述屬性包括屬性集中的至少一個(gè)成員,所述屬性集包括內(nèi)容相關(guān)數(shù)據(jù)、頁(yè)面計(jì)數(shù)數(shù)據(jù)、第一可見頁(yè)面數(shù)據(jù)、最后可見頁(yè)面數(shù)據(jù)、水平偏移量數(shù)據(jù)、垂直偏移量數(shù)據(jù)、范圍寬度數(shù)據(jù)、范圍高度數(shù)據(jù)、視口寬度數(shù)據(jù)、視口高度數(shù)據(jù)、指示是否示出頁(yè)面邊界的數(shù)據(jù)、縮放百分比數(shù)據(jù)、網(wǎng)格列計(jì)數(shù)數(shù)據(jù)、垂直頁(yè)面間隔數(shù)據(jù)、水平頁(yè)面間隔數(shù)據(jù)、指示是否位于文檔開始處的數(shù)據(jù)、指示是否位于文檔結(jié)尾處的數(shù)據(jù)、指示文檔是否可被放大的數(shù)據(jù)、指示文檔是否可被縮小的數(shù)據(jù)、和指示工具欄狀態(tài)的數(shù)據(jù),以及所述命令包括命令集的至少一個(gè)成員,所述命令集包括切換工具欄命令、適合網(wǎng)格列計(jì)數(shù)命令、回流文檔命令、查看縮略圖命令、視圖適合寬度命令、和視圖適合高度命令。19.在計(jì)算環(huán)境中,一種系統(tǒng),包括用于由另一程序主存的文檔查看控件裝置,所述文檔査看器控件裝置包括至少一個(gè)接口的接口集;以及用于在所述接口集處接收來(lái)自調(diào)用程序的功能調(diào)用以便允許用戶與經(jīng)由同時(shí)由另一程序主存的所述文檔查看控件裝置所顯示的內(nèi)容交互的裝置。20.如權(quán)利要求19所述的系統(tǒng),其特征在于,所述用戶交互改變顯示內(nèi)容的方式。全文摘要一種由另一計(jì)算機(jī)程序主存來(lái)向該程序提供包括允許用戶與內(nèi)容交互在內(nèi)的文檔查看功能的文檔查看器控件(4.204)。接口向程序提供對(duì)文檔查看功能的插入訪問(wèn),文檔查看功能包括滾動(dòng)(4.441)、縮放(4.442)、查找(4.443)、布局(4.444)、復(fù)制等??山?jīng)由接口來(lái)檢索和設(shè)置屬性,且可發(fā)出命令。結(jié)果是任何程序可按照一致的方式來(lái)提供文檔查看功能。而且,程序開發(fā)員經(jīng)由樣式等可按給定程序所需地停用和/或覆蓋默認(rèn)功能,來(lái)定制和/或擴(kuò)展文檔查看器。文檔編號(hào)G06F17/00GK101128816SQ200580048739公開日2008年2月20日申請(qǐng)日期2005年8月25日優(yōu)先權(quán)日2005年3月4日發(fā)明者A·K·麗迪,H·L·格蘭山姆,J·W·J·牛頓-史密斯,J·德池,N·G·布朗,T·D·賽勒斯申請(qǐng)人:微軟公司