欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在集成開發(fā)環(huán)境中作為設(shè)計(jì)器的主宿的應(yīng)用程序的制作方法

文檔序號(hào):6515036閱讀:280來源:國知局
專利名稱:在集成開發(fā)環(huán)境中作為設(shè)計(jì)器的主宿的應(yīng)用程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種軟件開發(fā)環(huán)境,尤其涉及便于把未管理的應(yīng)用程序帶入到環(huán)境中作為設(shè)計(jì)器的體系結(jié)構(gòu)。
背景技術(shù)
迄今為止,軟件集成開發(fā)環(huán)境(IDEs)并不能將未管理的主宿的(hosted)應(yīng)用程序的功能集成到該開發(fā)工作空間中。這樣,編寫豐富的設(shè)計(jì)器通常是非常復(fù)雜和費(fèi)時(shí)的任務(wù),這就必須考慮非常緊密地與該主宿的應(yīng)用程序的集成。
需要的是一種體系結(jié)構(gòu),它把未管理的應(yīng)用程序按一致仍而可使用的方式集成到設(shè)計(jì)環(huán)境中,使得開發(fā)者能使用該主宿的應(yīng)用程序的原有的功能并同時(shí)調(diào)節(jié)由該IDE提供的充足的生產(chǎn)效率的特征。

發(fā)明內(nèi)容
以下給出了本發(fā)明的簡化概述,以提供對本發(fā)明某些概念的基本理解。這個(gè)概述并不是本發(fā)明的廣泛綜述。這并不旨在標(biāo)識(shí)本發(fā)明的關(guān)鍵/決定性元素或者描述本發(fā)明的范圍。其唯一的目的是以簡化的形式給出本發(fā)明某些概念,作為以后給出的更詳細(xì)描述的序言。
此處揭示并要求保護(hù)的本發(fā)明,在其一個(gè)方面中,包括一種體系結(jié)構(gòu),它把未管理的應(yīng)用程序作為主宿的應(yīng)用程序按一致而可使用的方式集成到設(shè)計(jì)環(huán)境中,使得該開發(fā)者能使用該主宿的應(yīng)用程序的原有的功能,同時(shí)調(diào)節(jié)(leverage)由該IDE提供的充足的生產(chǎn)效率的特征。在此作為支持,提供了一種具有主宿組件的IDE,該組件包括一應(yīng)用程序適配程序,它提供從未管理應(yīng)用程序到該IDE的接口。該IDE包括提供對IDE的設(shè)計(jì)器能力的用戶訪問的設(shè)計(jì)器框架。宿主適配程序直接地和/或通過一集成接口連接到設(shè)計(jì)器框架。由此,開發(fā)者/用戶然后能夠訪問未管理應(yīng)用程序的原有功能以及該IDE功能。這就提供了開發(fā)環(huán)境與該主宿的應(yīng)用程序之間的豐富的集成,其結(jié)果是設(shè)計(jì)器與該IDE交互。
為了實(shí)現(xiàn)前述的相關(guān)目的,此處結(jié)合以下描述和附圖描述了本發(fā)明的某些說明性方面。然而,這些方面僅指示了可采用本發(fā)明的原理的各種方式中的幾種,并且本發(fā)明旨在包括所有這樣的方面和其等效方面。當(dāng)結(jié)合附圖考慮時(shí),本發(fā)明的其它優(yōu)點(diǎn)和新穎特征將從以下本發(fā)明的詳細(xì)描述中變得顯而易見。


圖1示出本發(fā)明的一個(gè)系統(tǒng)。
圖2示出在IDE中集成原有的應(yīng)用程序功能的過程的流程圖。
圖3示出依照本發(fā)明的OLE文檔開發(fā)過程的流程圖。
圖4所示是依照本發(fā)明的集成功能的一個(gè)示例窗口。
圖5所示是本發(fā)明的集成且層疊的菜單特征的窗口。
圖6示出了可用于執(zhí)行所揭示的體系結(jié)構(gòu)的計(jì)算機(jī)的框圖。
圖7示出根據(jù)本發(fā)明的示例性的計(jì)算環(huán)境的示意性框圖。
具體實(shí)施例方式
現(xiàn)在,本發(fā)明將參照附圖來描述,貫穿附圖,相同的標(biāo)號(hào)用于表示相同的元素。在以下的論述中,以解釋為目的,闡明了若干具體細(xì)節(jié),以提供對本發(fā)明的徹底的理解。然而,很明顯,本發(fā)明可以不采用這些具體細(xì)節(jié)來實(shí)踐。在其它的例子中,以框圖的形式示出了眾所周知的結(jié)構(gòu)和設(shè)備,以便于描述本發(fā)明。
如本申請中所使用的,術(shù)語“組件”和“系統(tǒng)”意在指計(jì)算機(jī)相關(guān)的實(shí)體,它可以是硬件、硬件和軟件的組合、或執(zhí)行中的軟件。例如,組件可以是,但不局限于,在處理器上運(yùn)行的進(jìn)程、處理器、對象、可執(zhí)行碼、執(zhí)行線程、程序和/或計(jì)算機(jī)。作為說明,運(yùn)行在服務(wù)器上的應(yīng)用程序和該服務(wù)器都能夠是組件。一個(gè)或多個(gè)組件可駐留在進(jìn)程和/或執(zhí)行線程之中,而且組件可定位在一個(gè)計(jì)算機(jī)上和/或分布在兩個(gè)或多個(gè)計(jì)算機(jī)之間。
現(xiàn)在參照圖1,示出了本發(fā)明的一個(gè)系統(tǒng)100。系統(tǒng)100是一個(gè)增強(qiáng)的“集成”開發(fā)環(huán)境(IDE)102,它便于把未管理應(yīng)用程序104的原有功能帶入到開發(fā)環(huán)境102之中。此外,IDE 102包括一主宿組件106,它至少是通過宿主適配器108連接到未管理應(yīng)用程序104。宿主適配器108是主宿組件102的一部分,并且對特定的未管理應(yīng)用程序104是專用的。即,當(dāng)未管理應(yīng)用程序104是文字處理程序時(shí),宿主適配器提供對文字處理應(yīng)用程序?qū)S玫慕涌谀芰Αn愃频?,電子表格?yīng)用程序?qū)⒕哂兴约旱膶S盟拗鬟m配器,以便于把它的原有的功能帶入IDE 102之中。
主宿組件106還包括設(shè)計(jì)器框架110,它與宿主適配器108接口,并擔(dān)當(dāng)主宿組件106和IDE 102之間的接口。宿主適配器108還通過一集成接口112與設(shè)計(jì)器框架接口,接口112擔(dān)當(dāng)用于第三方應(yīng)用程序的接口,如果有對該第三方應(yīng)用程序的宿主適配器108,其原有的功能也能被帶入到IDE 102中。
主宿組件106還包括一文檔主宿子組件114,它與設(shè)計(jì)器框架110和未管理應(yīng)用程序接口,以便于主宿應(yīng)用程序104的一個(gè)相關(guān)聯(lián)的文檔。
如上所述,系統(tǒng)100能夠集成多個(gè)未管理應(yīng)用程序(稱作為“未管理App1”…“未管理AppN”)的原有功能。由此,IDE 102包括對應(yīng)的多個(gè)主宿組件(稱作為“主宿組件1”…“主宿組件x”)。每一個(gè)主宿組件包括宿主適配器、設(shè)計(jì)器框架、集成接口和文檔主宿子組件。注意,雖然這些組件被表示成分離的實(shí)體,然而這些實(shí)體能以被認(rèn)為適合于把未管理應(yīng)用程序的原有功能帶入到IDE中的任何方式來組合。
系統(tǒng)100尤其適用于OLE(對象鏈接和嵌入)技術(shù),這里該IDE支持OLE,并且由文檔主宿子組件114主宿的文檔是一OLE文檔。這樣,任何支持OLE文檔接口的應(yīng)用程序能夠被集成到IDE 102之中。然而,本發(fā)明并非局限于這樣一個(gè)OLE技術(shù),并構(gòu)想任何其它合適的技術(shù)可用于該IDE中。
在IDE內(nèi)部主宿基于文檔的豐富的應(yīng)用程序(如文字處理程序和電子表格應(yīng)用程序)之后的創(chuàng)新是這些應(yīng)用程序被作為可視的設(shè)計(jì)器來對待。主宿的應(yīng)用程序是功能完整的,但利用了由IDE提供的豐富的功能。當(dāng)在IDE中主宿時(shí),主宿文檔能夠通過與不同的工具窗口的交互被可視化地設(shè)計(jì)。例如,“工具箱”可以將控件和組件拖放到設(shè)計(jì)器上。在設(shè)計(jì)器中可以選中文檔上的控件,并且它們的屬性可以在“屬性”窗口中編輯。另一操作例如通過一“數(shù)據(jù)源拾取工具”窗口在應(yīng)用程序中實(shí)現(xiàn)數(shù)據(jù)綁定功能。
本發(fā)明將主宿應(yīng)用程序轉(zhuǎn)換成為可視設(shè)計(jì)器,而不會(huì)減少由該主宿應(yīng)用程序提供的原有功能的任一個(gè)。這就有效地把主宿應(yīng)用程序轉(zhuǎn)換成為設(shè)計(jì)表面,開發(fā)人員能夠在其上拖放對象以快速地創(chuàng)建解決方案和應(yīng)用程序。而且,所揭示的方法提供了一個(gè)熟悉且一致的開發(fā)模型以開發(fā)該IDE中的應(yīng)用程序。另外,本發(fā)明的增強(qiáng)的IDE將概念的數(shù)量保持為最小,而同時(shí)最小化設(shè)計(jì)范例的數(shù)量。
現(xiàn)在參照圖2,示出了在IDE中集成原有應(yīng)用程序功能的過程的流程圖。盡管為了簡化解釋的目的,此處例如以流程圖的方式示出的一個(gè)或多個(gè)方法被表示和描述為一系列的動(dòng)作,然而應(yīng)該理解和認(rèn)識(shí)到,本發(fā)明并不限制于這些動(dòng)作的次序,因?yàn)楦鶕?jù)本發(fā)明,某些動(dòng)作可以不同的次序和/或與在此示出并描述其它動(dòng)作并發(fā)地發(fā)生。例如,本領(lǐng)域的技術(shù)人員應(yīng)理解和認(rèn)識(shí)到,方法可以被替換地表示為一系列內(nèi)部相關(guān)的狀態(tài)和事件,如以狀態(tài)圖表示。此外,并非所有示出的動(dòng)作都被要求來實(shí)現(xiàn)根據(jù)本發(fā)明的方法。
在200,提供一IDE。在202,在IDE中提供主宿組件,以便于主宿未管理應(yīng)用程序。在204,設(shè)計(jì)器框架如此被提供并接口到主宿組件。在206,提供對未管理應(yīng)用程序?qū)S玫乃拗鬟m配器作為主宿組件的一部分。在208,宿主適配器直接并且間接地通過用于第三方應(yīng)用程序的集成接口來與設(shè)計(jì)器框架接口。在210,文檔主宿子組件被提供并與設(shè)計(jì)器框架和未管理應(yīng)用程序接口。在212,主宿文檔現(xiàn)在已能使用設(shè)計(jì)器功能和未管理應(yīng)用程序的原有功能二者來進(jìn)行操縱。然后該過程達(dá)到“停止”塊。
現(xiàn)在參照圖3,示出了根據(jù)本發(fā)明用于OLE文檔開發(fā)的過程的流程圖。在這個(gè)具體過程實(shí)現(xiàn)之中,IDE環(huán)境支持OLE技術(shù)。在300,開發(fā)人員打開IDE環(huán)境。在302,未管理應(yīng)用程序被選中。在304,打開一個(gè)新的文檔或打開一個(gè)已存在的文檔用于編輯。在306,能夠?yàn)樵撐臋n設(shè)置安全性設(shè)定,以便例如,根據(jù)文檔將在何處被處理來設(shè)定各種準(zhǔn)許或限制級別。在308,開發(fā)人員/用戶利用設(shè)計(jì)器框架和主宿程序的原有功能之一或二者的能力來操縱該文檔。然后該處理達(dá)到“停止”塊。
宿主適配器當(dāng)主宿應(yīng)用程序作為設(shè)計(jì)器被打開時(shí),該主宿菜單將與IDE的菜單合并。根據(jù)該主宿應(yīng)用程序是否被聚焦到,可啟用某些菜單項(xiàng),而其它的將被禁用。即,如果該IDE被聚焦,則在主宿應(yīng)用程序中禁用某些菜單項(xiàng)。相反,如果主宿應(yīng)用程序被聚焦,則禁用IDE的某些菜單項(xiàng)。這是,但也僅僅是宿主適配器的一個(gè)功能。
現(xiàn)在參照圖4,有一示例窗口400,它示出根據(jù)本發(fā)明的集成功能。窗口400是主宿的電子表格應(yīng)用程序(例如,與EXCEL品牌的電子表格應(yīng)用程序有關(guān))的表示。窗口400示出了與IDE的IDE菜單404合并的主宿菜單402、帶有附加的“View Code(察看代碼)”命令408的宿主上下文菜單406、示出項(xiàng)目結(jié)構(gòu)412的“Solution Explorer(解決方案瀏覽器)”410、示出所選中的電子表格的屬性416的“Property(屬性)”窗口414、以及具有能添加到主宿文檔422中的控件和組件420的列表的“Toolbox(工具箱)”418。
該“Property(屬性)”窗口顯示代碼在后(code-behind)工程項(xiàng)目和其它設(shè)計(jì)器工程項(xiàng)目的屬性。主宿應(yīng)用程序?qū)⑵鋵傩酝迫搿癙roperty”窗口中。主宿應(yīng)用程序能夠選擇向“Property”窗口傳播屬性。主宿應(yīng)用程序提供屬性列表(例如,屬性名和屬性類型)。
包含嵌入或鏈接的對象的任何文檔能夠在IDE中打開。選中一個(gè)嵌入或鏈接的對象將促使菜單和工具箱對所選中的對象改變。
如果選中“Tools(工具)”選項(xiàng)中的第一個(gè)單選按鈕,則適配器捕獲所有的加速鍵(accelerator)并將加速鍵傳遞到動(dòng)態(tài)創(chuàng)建的IDE中的快捷鍵表(或鍵映射表)。任何沒有被處理的事情由該IDE表向下傳遞回主宿應(yīng)用程序以便處理。
在設(shè)計(jì)器上右鍵單擊將調(diào)出標(biāo)準(zhǔn)的電子表格上下文菜單。附加的菜單命令“View Code”是該上下文菜單中的第一個(gè)命令。令該“View Code”命令處于列表的頂端提供了與其它程序的上下文菜單的一致性。從電子表格單元格中選擇該“View Code”命令將開發(fā)者導(dǎo)航到該工作表的代碼編輯器。該光標(biāo)將被設(shè)置到在之前它被設(shè)置到的地方。默認(rèn)地,這意味著光標(biāo)將被設(shè)置到編輯器的頂部。在“ViewControl(察看控件)”上右鍵單擊將顯示該“View Control”的上下文菜單。從“ViewControl”中選擇“View Code”命令將開發(fā)者導(dǎo)航到該IDE的代碼編輯器,并將光標(biāo)設(shè)置到之前它被設(shè)置到的地方。
在工作表格的選項(xiàng)卡上右鍵單擊將調(diào)出電子表格應(yīng)用程序的一個(gè)上下文菜單。該上下文菜單包含一個(gè)“View Code”命令,如果被選中,它將用戶導(dǎo)航到IDE代碼編輯器中該電子表格文件后的代碼。代碼編輯器中與對于“View Code”命令的光標(biāo)放置行為與它在設(shè)計(jì)器中對于“View Code”命令是同樣的。
現(xiàn)在參照圖5,示出了窗口500,它示出本發(fā)明的一個(gè)集成且層疊的特征。主宿應(yīng)用程序(也稱為服務(wù)器應(yīng)用程序)與IDE的集成會(huì)導(dǎo)致相似地命名的菜單項(xiàng)之間的沖突。這里,IDE和主宿應(yīng)用程序的集成引起菜單沖突,使得至少“View(察看)”菜單項(xiàng)是沖突的。IDE修改其已存在的“View”菜單502,以包括主宿應(yīng)用程序菜單504(可通過“Server View Commands(服務(wù)器察看命令)”來訪問并標(biāo)記為“Server View Commands”)。該IDE向用戶呈現(xiàn)了清楚地標(biāo)識(shí)服務(wù)器“View”菜單選項(xiàng)在IDE“View”菜單502中的位置。與該“Server View Commands”菜單選項(xiàng)相關(guān)聯(lián)的擴(kuò)充箭頭便于訪問該層疊的服務(wù)器子菜單項(xiàng)目。
示例場景在IDE中,用戶創(chuàng)建一新的電子表格工程。與電子表格相關(guān)的工程項(xiàng)目在該“Solution Explorer(解決方案瀏覽器)”和電子表格工作簿中創(chuàng)建,并且工作表作為設(shè)計(jì)器被顯示在文檔窗口中。該電子表格文檔在IDE內(nèi)部設(shè)計(jì)。所揭示的體系結(jié)構(gòu)將該IDE的菜單和主宿應(yīng)用程序合并,并且工具欄在設(shè)計(jì)器的電子表格應(yīng)用程序中可用,從而在一個(gè)環(huán)境之中提供了生產(chǎn)效率特征和IDE特征的全部。該電子表格能夠使用電子表格應(yīng)用程序的全部逼真度來編輯和修改,并采用該IDE工具窗口和編輯器以利用已管理代碼來定制電子表格。從Toolbox(工具箱)中,用戶能將一個(gè)已管理按鈕拖放到該文檔上。該按鈕能夠被選中并且其屬性可以采用屬性網(wǎng)格來修改。定制可以在自動(dòng)生成的事件處理器的內(nèi)部通過在按鈕上雙擊并輸入“Code View”來作出。
設(shè)計(jì)器模式主宿應(yīng)用程序以設(shè)計(jì)模式和運(yùn)行時(shí)模式操作,以便在主宿應(yīng)用程序內(nèi)的設(shè)計(jì)動(dòng)作和運(yùn)行時(shí)動(dòng)作之間區(qū)分。在每個(gè)模式中用戶可以執(zhí)行的動(dòng)作集可能在各個(gè)應(yīng)用程序之間不同,并依賴于主宿應(yīng)用程序,而與是否在IDE中無關(guān)。在一個(gè)實(shí)施例中,主宿應(yīng)用程序是設(shè)計(jì)時(shí)模式,并當(dāng)主宿在IDE中,保持在設(shè)計(jì)時(shí)模式。這個(gè)體驗(yàn)便于拖動(dòng)控件到設(shè)計(jì)器上、選擇該控件以察看和編輯其屬性、并雙擊該控件以進(jìn)入代碼視圖。當(dāng)在IDE中時(shí),用于未管理應(yīng)用程序的宿主適配器將文檔推入并保持在設(shè)計(jì)模式中。
另一個(gè)模式是“運(yùn)行”模式。當(dāng)該應(yīng)用程序正在運(yùn)行或正被調(diào)試時(shí),它就處于“運(yùn)行”模式之中。在這個(gè)模式中,只有原有的應(yīng)用程序功能是可用的。一旦調(diào)試開始,代碼編輯器成為活動(dòng)的設(shè)計(jì)器,而且所有的加速鍵都由IDE處理。
文檔視圖由IDE主宿的文檔至少能具有二種視圖設(shè)計(jì)視圖和代碼視圖。一般而言,設(shè)計(jì)視圖是應(yīng)用程序的設(shè)計(jì)/普通視圖。設(shè)計(jì)視圖對支持“OLE文檔”技術(shù)的文檔啟用。當(dāng)工作在這些文檔上時(shí),用戶的體驗(yàn)基本上類似于使用原始的主宿應(yīng)用程序的體驗(yàn)。這意味著,開發(fā)人員能夠設(shè)計(jì)摸板/文檔、建立和修改文檔、以及使用專用的宿主的特征,如格式化、圖表化和模式映射等等。這種行為通過調(diào)節(jié)OLE技術(shù)和在IDE中主宿所主宿的應(yīng)用程序來實(shí)現(xiàn)。
設(shè)計(jì)視圖能以主宿應(yīng)用程序所支持的格式來顯示新的和已存在的文檔。例如,設(shè)計(jì)器將以二進(jìn)制和XML格式來處理文檔。這是通過調(diào)整OLE文檔技術(shù)來實(shí)現(xiàn)的,以將文檔完全集成到IDE中,從而取用了各種操作,諸如將控件拖放到設(shè)計(jì)器上、選擇上下文、和在控件上雙擊以寫入代碼。設(shè)計(jì)器能夠顯示整個(gè)文檔的內(nèi)容,包括但并不局限于格式化、樣式、模式映射和嵌入對象等。
當(dāng)在IDE中時(shí),主宿的應(yīng)用程序處于“設(shè)計(jì)模式”。IDE中主宿的應(yīng)用程序是全功能的,即,當(dāng)在IDE中開發(fā)解決方案時(shí),主宿的應(yīng)用程序的菜單、命令、上下文菜單、和加速鍵對用戶全部可用。同時(shí),存在一些附加到宿主的原有功能中的特征和體驗(yàn)。如在此所指出的,例子包括與IDE工具窗口的交互、在設(shè)計(jì)器(文檔)上右鍵單擊和選擇“Code View”命令以導(dǎo)航到文件之后的代碼的能力、選擇功能鍵以開始調(diào)試等等。這些特征顯著地改進(jìn)了IDE內(nèi)部的開發(fā)人員體驗(yàn),并在設(shè)計(jì)應(yīng)用程序時(shí)幫助開發(fā)人員。
有時(shí)存在用戶在主宿應(yīng)用程序中的體驗(yàn)不同于在IDE中體驗(yàn)的情況。例如,如果一個(gè)“Tool>Macro(工具>宏)”菜單選項(xiàng)不可用,則當(dāng)運(yùn)用某些鍵組合時(shí)會(huì)發(fā)生不同的動(dòng)作(例如,如果選擇“Alt+F11”,將載入一個(gè)“Micro(宏)”環(huán)境)。主宿的應(yīng)用程序的行為不同于它在IDE之外時(shí)的行為的具體情況是與宿主適配器相關(guān)聯(lián)的。宿主適配器通過關(guān)閉這些宿主特征或修改它們的行為來處理這些行為上的差異。這樣做的目的是改進(jìn)開發(fā)人員的體驗(yàn),并提高主宿的應(yīng)用程序和開發(fā)環(huán)境之間的集成性。
注意,如果一個(gè)應(yīng)用程序文檔具有多個(gè)與它關(guān)聯(lián)的“子文檔”(例如,多個(gè)工作表關(guān)聯(lián)于一個(gè)工作簿),那么將存在與每一個(gè)“子文檔”相關(guān)聯(lián)的代碼視圖(即,代碼在后的文件關(guān)聯(lián)于每一個(gè)工作表)。正在被主宿的并且在IDE中定制的文檔具有一個(gè)關(guān)聯(lián)的代碼視圖。
代碼視圖揭示一個(gè)關(guān)聯(lián)于文檔的代碼在后的文件。與由設(shè)計(jì)器表示的文檔相關(guān)聯(lián)的代碼窗口能夠以多種方式被激活。一種方式是當(dāng)設(shè)計(jì)器或相應(yīng)的代碼工程項(xiàng)目在解決方案瀏覽器中被選中時(shí),通過單擊該解決方案瀏覽器上的“View-Code”按鈕或者從VS視圖菜單中選擇菜單項(xiàng)“View-Code”。在解決方案瀏覽器中選中設(shè)計(jì)器的情況下,對應(yīng)于當(dāng)前活動(dòng)子文檔的代碼窗口被打開。另一種方式是通過從設(shè)計(jì)器的上下文菜單中選擇“View Code”菜單(注意該光標(biāo)并不在映射的元素上)。還有另一種方式是通過從解決方案瀏覽器中的工程項(xiàng)目上下文菜單中選擇“View-Code”。
在所有以上的行動(dòng)中,代碼窗口用窗口頂部的光標(biāo)的設(shè)置來載入。當(dāng)代碼窗口通過在設(shè)計(jì)器中的控件上雙擊而調(diào)出時(shí),代碼生成(即處理程序定義)和導(dǎo)航然后就發(fā)生。在此情況下,光標(biāo)被設(shè)置在默認(rèn)的控件事件處理程序內(nèi)部。如果處理程序尚不存在,則生成它。主宿的應(yīng)用程序向IDE提供足夠的數(shù)據(jù),以了解要生成哪一事件處理程序。如果已生成了默認(rèn)的事件處理程序,則在控件上雙擊將用戶導(dǎo)航到代碼編輯器,并且將光標(biāo)放置在默認(rèn)的事件處理程序中。
視圖控件視圖控件是被聚集以支持?jǐn)?shù)據(jù)綁定的對象,并提供開發(fā)人員能用于響應(yīng)由視圖控件引發(fā)的事件的事件模型。為了提高視圖控件的可視性和可發(fā)現(xiàn)性,控制被安置在工具箱中,作為用戶可以拖放到應(yīng)用程序設(shè)計(jì)器上的“控件”。以下的討論是關(guān)于支持發(fā)現(xiàn)、創(chuàng)建、刪除和與文字處理應(yīng)用程序中的視圖控件一起工作的設(shè)計(jì)時(shí)工具。然而應(yīng)該理解,電子表格應(yīng)用程序也具有與之相關(guān)聯(lián)的視圖控件。
在文字處理應(yīng)用程序(和電子表格應(yīng)用程序)中存在某一級別的原有支持,例如,它們可以用于創(chuàng)建并與視圖控件一起工作。為了改進(jìn)該體驗(yàn),附加的工具支持被添加到視圖控件周圍,以增加這個(gè)特征的可視性和可發(fā)現(xiàn)性,同時(shí)也改進(jìn)了以它們工作的整個(gè)開發(fā)人員體驗(yàn)。為了提供開發(fā)人員熟悉的模型,在視圖控件上體驗(yàn)?zāi)7屡c已管理的控件一起工作,例如,選擇上下文和屬性窗口支持、從工具箱加入視圖控件以及在視圖控件上雙擊以導(dǎo)航到代碼視圖。
特征包括但并不局限于對視圖控件從從工具箱中拖放的常規(guī)支持、通過工具箱對所添加的視圖控件的默認(rèn)命名、為視圖控件選擇上下文(例如,在設(shè)計(jì)器中選擇視圖控件將顯示屬性窗口之中顯示屬性,并在屬性網(wǎng)格中選擇個(gè)視圖控件將在設(shè)計(jì)器中下拉選擇視圖控件)、在視圖控件上雙擊以導(dǎo)航到代碼編輯器、默認(rèn)事件處理程序生成、添加到設(shè)計(jì)器的后方代碼和控件的動(dòng)態(tài)同步、對通過屬性窗口命名視圖控件的支持、以及對代碼編輯器中的視圖控件的事件下拉支持。其它特征可包括對視圖控件的可訪問性(支持在工具箱中的“輸入”和“雙擊”以添加視圖控件)、顯示書簽、處理重疊的書簽、對工具箱中的視圖控件項(xiàng)目的功能鍵(F1)支持、工具箱可訪問性(支持Ctrl-C和Ctrl-V以添加視圖控件)、對刪除書簽的支持、向用戶提供選項(xiàng)以將視圖控件降級(demote)為常規(guī)書簽(減少混亂)、在視圖控件之間跳格切換(tab)、以及對形狀的工具箱支持。對文字處理程序支持書簽視圖控件,它用于從單個(gè)字符跨越到多個(gè)段落。
當(dāng)在IDE中時(shí),開發(fā)人員能使用文字處理程序的XML結(jié)構(gòu)任務(wù)窗格來向文檔應(yīng)用模式。該映射過程為每個(gè)映射的元素建立XML結(jié)點(diǎn)視圖控件。該XML結(jié)點(diǎn)視圖控件的默認(rèn)命名將與模式映射的元素相同。為確保模式映射的視圖控件變量的唯一性,如果發(fā)生沖突則向該名字添加一X(這里,X=整數(shù),它在附加的沖突發(fā)生時(shí)遞增)。
對于電子表格應(yīng)用程序視圖控件,提供一種“命名范圍(Named-Range)”控件和“列表對象(ListObject)”控件。名字范圍控件是一種機(jī)制,以容易地命名一個(gè)范圍,并為每個(gè)電子表格維護(hù)一名字表,以確保對每個(gè)被命名的范圍唯一地命名。列表對象是電子表格范圍的擴(kuò)充,它被設(shè)計(jì)來提供改進(jìn)的數(shù)據(jù)體驗(yàn),包括自動(dòng)增長/收縮到它所應(yīng)用數(shù)據(jù)集的能力。列表對象包括行和列,它們被展示為“列表行(ListRows)”和“列表列(ListColumns)”。
組件托盤(Component Tray)組件托盤在主宿應(yīng)用程序時(shí)促進(jìn)顯示或可視化非可視組件的方法。一些開發(fā)組件在運(yùn)行時(shí)并不具有可視化的表示,例如數(shù)據(jù)適配器和相關(guān)的組件。組件托盤提供一種用于在設(shè)計(jì)時(shí)可視地識(shí)別和操縱非可視組件的機(jī)制。開發(fā)人員可以拖放、編輯屬性、和可視化這些組件。將組件添加到視圖的一種方式是通過從工具箱中拖出組件并將它放到該文檔上、設(shè)置它們的屬性、刪除它們等等。非可視組件成為該文檔后的類的已命名類成員實(shí)例。
如果在文檔中存在非可視組件,則呈現(xiàn)該托盤。如果不存在非可視組件,則托盤完全消失。用戶通過把第一非可視組件放置到該視圖的主要部分以將其插入到視圖上,這將促使托盤被打開,并且非可視組件被移到該托盤中。后續(xù)的非可視組件能夠被放置到可視表單或直接放到托盤上。
如果可視項(xiàng)目在托盤上拖動(dòng),則顯示一不可放置圖標(biāo),并且該放置動(dòng)作執(zhí)行一個(gè)無操作。當(dāng)最后一個(gè)非可視組件從表單中刪除時(shí),托盤消失,并且選擇返回到設(shè)計(jì)器。托盤的背景是該系統(tǒng)窗口背景顏色。組件被自動(dòng)排列以與托盤的當(dāng)前寬度相匹配,所以從不需要水平滾動(dòng)。如果需要,垂直滾動(dòng)條將在托盤中出現(xiàn)。如果添加了比托盤框架可以顯示的更多的組件,則垂直滾動(dòng)條被加入到托盤。如果組件被放置,使得該組件看上去超出了托盤的左或右邊界,則一個(gè)水平滾動(dòng)條被加入到托盤。對組件托盤的改變并不弄臟該文檔。
回顧所揭示的體系結(jié)構(gòu)的某些特點(diǎn),IDE工具箱窗口允許將已管理的控件拖放或繪制到設(shè)計(jì)器的表面上。數(shù)據(jù)源窗口允許將已管理的數(shù)據(jù)組件和控件拖放到設(shè)計(jì)器的表面上。IDE屬性窗口允許操縱文檔及其上的組件的屬性。IDE組件托盤窗口主宿放置在文檔上的非可視元素,例如數(shù)據(jù)適配器和數(shù)據(jù)連接器。設(shè)計(jì)器使開發(fā)人員能書寫在文檔及其上的組件之后的已管理代碼。工具/選項(xiàng)對話框提供用于各種各樣的IDE功能的專用選項(xiàng)。對設(shè)計(jì)器主宿的應(yīng)用程序的每一個(gè)可以有一專用頁面,以使設(shè)計(jì)器能夠靈活地以各種方式表現(xiàn)。當(dāng)該未管理應(yīng)用程序成為在IDE中的設(shè)計(jì)器時(shí),該專用頁面包括對用戶期望調(diào)用的那些偏好。
對于基于文檔的設(shè)計(jì)器,有為了改進(jìn)用戶的體驗(yàn)而定制IDE內(nèi)的附加應(yīng)用程序的附加方面。這樣的功能的一個(gè)例子是已修改的文檔上下文菜單。另外,“ViewCode”命令被添加到某些菜單以表示該文檔是“已被設(shè)計(jì)的”和可以對照其來編程。此外,為主宿的應(yīng)用程序添加一專用的“設(shè)計(jì)器”工具欄以強(qiáng)調(diào)設(shè)計(jì)環(huán)境。
現(xiàn)在參照圖6,示出一個(gè)可用于執(zhí)行所揭示的體系結(jié)構(gòu)的計(jì)算機(jī)的框圖。為了提供本發(fā)明的各個(gè)方面的附加的環(huán)境,圖6和以下的討論旨在提供可在其中本發(fā)明的各方面的適用的計(jì)算環(huán)境600的簡要的、一般性的描述。雖然在上文中,本發(fā)明是在可運(yùn)行于一個(gè)或多個(gè)計(jì)算機(jī)上的計(jì)算機(jī)可執(zhí)行指令的通用環(huán)境中描述的,然而本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,本發(fā)明也可以結(jié)合其它程序模塊和/或作為硬件和軟件的組合來實(shí)現(xiàn)。
一般而言,程序模塊包括例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。而且,本領(lǐng)域的技術(shù)人員應(yīng)認(rèn)識(shí)到,本發(fā)明的方法可以用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)踐,包括單處理器或多處理器計(jì)算機(jī)系統(tǒng)、小型計(jì)算機(jī)、大型計(jì)算機(jī)、以及個(gè)人計(jì)算機(jī)、手持計(jì)算設(shè)備、基于微處理器或可編程客戶電器等等,其每一個(gè)可操作地耦合至一個(gè)或多個(gè)相關(guān)聯(lián)的設(shè)備。
所示出的本發(fā)明的方面還可以在分布式計(jì)算環(huán)境中實(shí)踐,其中某些任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程計(jì)算設(shè)備完成。在分布式計(jì)算環(huán)境中,程序模塊可被定位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者之中。
計(jì)算機(jī)通常包括各種計(jì)算機(jī)-可讀介質(zhì)。計(jì)算機(jī)-可讀介質(zhì)可以是可以由計(jì)算機(jī)訪問的任何可用介質(zhì),并且包括易失的和非易失介質(zhì)、可移動(dòng)的和不可移動(dòng)的介質(zhì)。作為例子而不是限制,計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括易失的和非易失的、可移動(dòng)的和不可移動(dòng)的介質(zhì),它們以任何方法和技術(shù)實(shí)現(xiàn)用于存儲(chǔ)信息,如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不局限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字視頻盤(DVD)或其它光盤存儲(chǔ)、磁盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)期望的信息并可由計(jì)算機(jī)訪問的任何其它介質(zhì)。
通信介質(zhì)通常在諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”意指其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式設(shè)置或改變的一種信號(hào)。作為例子而不是限制,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接線路連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。上述的任一個(gè)的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
再一次參照圖6,示出了一個(gè)示例性環(huán)境600,它用于實(shí)現(xiàn)本發(fā)明的各個(gè)方面,它包括計(jì)算機(jī)602,計(jì)算機(jī)602包括處理單元604、系統(tǒng)存儲(chǔ)器606和系統(tǒng)總線608。系統(tǒng)總線608將包括但不局限于系統(tǒng)存儲(chǔ)器606的系統(tǒng)組件耦合到處理單元604。處理單元604可以是各種可購買的存儲(chǔ)器的任一種。雙微處理器和其它多處理器體系結(jié)構(gòu)也可用作處理單元604。
系統(tǒng)總線608可以是若干種總線結(jié)構(gòu)中的任一種,它能進(jìn)一步內(nèi)連到存儲(chǔ)器總線(帶有或不帶有存儲(chǔ)器控制器)、外圍總線、和使用多種可購買的總線結(jié)構(gòu)之一的局部總線。系統(tǒng)存儲(chǔ)器606包括只讀存儲(chǔ)器(ROM)610和隨機(jī)存取存儲(chǔ)器(RAM)612?;据斎?輸出系統(tǒng)(BIOS)被存儲(chǔ)在非易失存儲(chǔ)器610中,例如ROM、EPROM、EEPROM,該BIOS包含了基本例程,它們諸如在啟動(dòng)期間幫助在計(jì)算機(jī)602的單元之間傳輸信息。RAM 612也能包括高速RAM,例如靜態(tài)RAM,用于高速緩存數(shù)據(jù)。
計(jì)算機(jī)602還包括內(nèi)部硬盤驅(qū)動(dòng)器(HDD)614(例如,EIDA,SATA),該內(nèi)部硬盤驅(qū)動(dòng)器614也能被配置為在一個(gè)適當(dāng)?shù)牡妆P中(未示出)供外部使用、軟磁盤驅(qū)動(dòng)器(FDD)616(例如,對可移動(dòng)磁盤618讀出和寫入)和光盤驅(qū)動(dòng)器620(例如,讀CD-ROM盤622,或?qū)χT如DVD等其它高容量磁介質(zhì)像讀出和寫入)。硬盤驅(qū)動(dòng)器614、磁盤驅(qū)動(dòng)器616和光盤驅(qū)動(dòng)器620能夠分別通過硬盤驅(qū)動(dòng)器接口624、磁盤驅(qū)動(dòng)器接口626和光盤驅(qū)動(dòng)器接口628連接到系統(tǒng)總線608。用于外部驅(qū)動(dòng)器實(shí)現(xiàn)的接口624包括通用串行總線(USB)和IEEE 1394接口技術(shù)的中的至少一個(gè)或兩者。
驅(qū)動(dòng)器和與它們相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供了數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)可讀指令等等的非易失性存儲(chǔ)。對于計(jì)算機(jī)602,驅(qū)動(dòng)器和介質(zhì)可容納合適的數(shù)字格式的任何數(shù)據(jù)的存儲(chǔ)。雖然以上計(jì)算機(jī)可讀介質(zhì)的論述涉及HDD、可移動(dòng)磁盤和諸如CD或DVD等可移動(dòng)光介質(zhì),然而本領(lǐng)域的技術(shù)人員應(yīng)該理解,可由計(jì)算機(jī)讀取的其它類型的介質(zhì),例如ZIP驅(qū)動(dòng)器、磁盒、閃存卡、盒式磁帶及類似物也能被用于該示例性操作環(huán)境之中,并且進(jìn)一步,任何這樣的介質(zhì)可包含用于實(shí)現(xiàn)本發(fā)明的方法的計(jì)算機(jī)可執(zhí)行指令。
若干個(gè)程序模塊可被存儲(chǔ)在驅(qū)動(dòng)器和RAM 612中,包括操作系統(tǒng)630、一個(gè)或多個(gè)應(yīng)用程序632、其它程序模塊634和程序數(shù)據(jù)636。操作系統(tǒng)、應(yīng)用程序、模塊和/或數(shù)據(jù)的全部或部分也可被緩存在RAM 612中。
應(yīng)理解,本發(fā)明能用各種可購買的操作系統(tǒng)或操作系統(tǒng)的組合來實(shí)現(xiàn)。
用戶可通過一個(gè)或多個(gè)有線/無線輸入設(shè)備,例如鍵盤638和定點(diǎn)設(shè)備(如鼠標(biāo)640),將命令和信息輸入到計(jì)算機(jī)602中。其它輸入設(shè)備(未示出)可包括話筒、IR遙控器、操縱桿、游戲墊、輸入筆、觸摸屏等等。這些和其它輸入設(shè)備通常通過耦合到系統(tǒng)總線608的輸入設(shè)備接口642來連接到處理單元604,但也能由其它接口鏈接,如并行端口、IEEE1394串行端口、游戲端口、USB端口、IR接口等。
監(jiān)視器644或其它類型的顯示設(shè)備也通過接口,如視頻適配器646連接到系統(tǒng)總線608。除了監(jiān)視器644之外,計(jì)算機(jī)通常包括其它外圍輸出設(shè)備(未示出),例如揚(yáng)聲器、打印機(jī)等等。
計(jì)算機(jī)602可以在使用通過有線/無線通信到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)648的邏輯連接的網(wǎng)絡(luò)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)648可以是工作站、服務(wù)器計(jì)算機(jī)、路由器、個(gè)人計(jì)算機(jī)、便攜式計(jì)算機(jī)、基于微處理機(jī)的消費(fèi)者電子產(chǎn)品、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括相關(guān)于計(jì)算機(jī)602所描述的很多或全部元件,雖然為了簡單、明了的目的,只有存儲(chǔ)器存儲(chǔ)設(shè)備650被示出。所描述的邏輯連接包括到局域網(wǎng)(LAN)652和/或更大型網(wǎng)絡(luò),如廣域網(wǎng)(WAN)654的有線/無線連接。這種LAN和WAN網(wǎng)絡(luò)環(huán)境常見于辦公室、公司,并方便企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò),如內(nèi)聯(lián)網(wǎng),所有這些都被連接到全球通信網(wǎng)絡(luò),如因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)602通過有線和/或無線通信網(wǎng)絡(luò)接口或適配器656連接到局域網(wǎng)652。適配器656可方便到LAN 652的有線或無線通信,它還可包括放置于其上的無線接入點(diǎn),用于與無線適配器656通信。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)602可包括調(diào)制解調(diào)器658、或者連接到LAN上的通信服務(wù)器、或者具有用于通過WAN 654,例如通過因特網(wǎng)建立通信的其它裝置。調(diào)制解調(diào)器658可以是內(nèi)置的也可以外置的,并且有線或無線設(shè)備通過串行端口接口642連接到系統(tǒng)總線608。在網(wǎng)絡(luò)環(huán)境中,相對于計(jì)算機(jī)602所描述的程序模塊或其部分可存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器/存儲(chǔ)設(shè)備650中。應(yīng)理解,所示的網(wǎng)絡(luò)連接是示例性的,也可使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。
計(jì)算機(jī)602可用于與可操作地布置在無限通信中的任何無線設(shè)備或?qū)嶓w通信,例如打印機(jī)、掃描儀、臺(tái)式和/或便攜計(jì)算機(jī)、便攜數(shù)據(jù)助理、通信衛(wèi)星、與無線地可探測的標(biāo)記相關(guān)聯(lián)的任何一部設(shè)備或場所(如公用電話亭、報(bào)亭、休息室)、以及電話。這至少包括Wi-Fi和BluetoothTM(藍(lán)牙)無線技術(shù)。這樣,通信可以是對常規(guī)網(wǎng)絡(luò)的一種預(yù)定義的結(jié)構(gòu),或者簡單地為至少二個(gè)設(shè)備之間的特別(adhoc)通信。
Wi-Fi或無線保真允許在家中的睡椅邊、在旅館客房的床邊或在工作時(shí)從會(huì)議室連接到因特網(wǎng),而不要電線。Wi-Fi是一種類似于蜂窩電話的無線技術(shù),它允許這類設(shè)備,如計(jì)算機(jī),在室內(nèi)和室外發(fā)送和接收數(shù)據(jù);在一個(gè)基站范圍之內(nèi)的任何地方。Wi-Fi網(wǎng)絡(luò)使用被稱為IEEE 802.11(a、b、g等)的無線電技術(shù),以提供安全、可靠、快速的無線連接。Wi-Fi網(wǎng)絡(luò)能用于把計(jì)算機(jī)相互連接、連接到因特網(wǎng)、以及連接到有線網(wǎng)絡(luò)(它使用IEEE 802.3或以太網(wǎng))。Wi-Fi網(wǎng)絡(luò)以未許可的2.4和5GHz無線電頻帶操作,具有11Mbps(802.11b)或54Mbps(802.11a)的數(shù)據(jù)速率,或者具有包含兩個(gè)頻帶(雙頻帶)的產(chǎn)品,從而該網(wǎng)絡(luò)能夠提供類似于許多辦公室中使用的基本10BaseT有線以太網(wǎng)的真實(shí)世界的性能。
現(xiàn)在參照圖7,示出了一個(gè)根據(jù)本發(fā)明的示例性計(jì)算環(huán)境700的示意性框圖。系統(tǒng)700包括一個(gè)或多個(gè)客戶機(jī)702??蛻魴C(jī)702可以是硬件和/或軟件(如線程、進(jìn)程、計(jì)算設(shè)備)??蛻魴C(jī)702能例如通過采用本發(fā)明來容納cookie和/或關(guān)聯(lián)的上下文信息。系統(tǒng)700還包括一個(gè)或多個(gè)服務(wù)器704。服務(wù)器704也可以是硬件和/或軟件(如線程、進(jìn)程、計(jì)算機(jī)設(shè)備)。服務(wù)器704能夠例如通過采用本發(fā)明來容納線程以實(shí)現(xiàn)傳輸。在客戶機(jī)702和服務(wù)器704之間的一種可能的通信可以是適用于在兩個(gè)或多個(gè)計(jì)算機(jī)進(jìn)程之間傳輸?shù)臄?shù)據(jù)分組的格式。該數(shù)據(jù)分組可包括例如cookie和/或相關(guān)的上下文信息。系統(tǒng)700包括通信框架706(如,諸如因特網(wǎng)等全球通信網(wǎng)絡(luò)),它能被采用來以便于客戶機(jī)702和服務(wù)器704之間的通信。
通信可以通過有線(包括光纖)和/或無線技術(shù)來促進(jìn)??蛻魴C(jī)702可操作地連接到用于儲(chǔ)存對客戶機(jī)702本地的信息(如cookie和/或關(guān)聯(lián)的上下文信息)的一個(gè)或多個(gè)客戶機(jī)數(shù)據(jù)存儲(chǔ)708。類似地,服務(wù)器704可操作地連接到用于儲(chǔ)存對服務(wù)器704本地的信息的一個(gè)或多個(gè)服務(wù)器數(shù)據(jù)存儲(chǔ)710。
以上所描述的包括本發(fā)明的例子。當(dāng)然,不可能為了描述本發(fā)明的目的而描述組件或方法的每一可構(gòu)想的組合,但本領(lǐng)域的技術(shù)人員可以認(rèn)識(shí)到,本發(fā)明的很多其它組合和置換都是可能的。因此,本發(fā)明旨在包含落在所附權(quán)利要求書的精神和范圍之內(nèi)的所有這樣的變換、修改和變化。此外,在詳細(xì)描述或者權(quán)利要求之中使用了術(shù)語“包括”的意義上,這一術(shù)語以類似于術(shù)語“包含”的方式意味著包含性的,如術(shù)語“包含”在權(quán)利要求書中被用作過渡詞時(shí)所解釋的。
權(quán)利要求
1.一種便于軟件開發(fā)環(huán)境的系統(tǒng),其特征在于,包括一未管理的應(yīng)用程序,它便于處理文檔;以及一主宿組件,它與所述未管理的應(yīng)用程序接口,使得所述未管理的應(yīng)用程序擔(dān)當(dāng)所述開發(fā)環(huán)境中的設(shè)計(jì)器。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述主宿組件支持對象鏈接和嵌入(OLE)技術(shù)。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述未管理的應(yīng)用程序包括文字處理應(yīng)用程序和電子表格應(yīng)用程序中的至少一個(gè)。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括一集成接口,以便于將第三方未管理應(yīng)用程序作為設(shè)計(jì)器集成到所述開發(fā)環(huán)境中。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述開發(fā)環(huán)境是集成開發(fā)環(huán)境(IDE)。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括一宿主適配器,它與所述未管理的應(yīng)用程序接口,所述適配器是應(yīng)用程序?qū)S玫?,以便于將所述未管理?yīng)用程序集成到所述開發(fā)環(huán)境中。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括一文檔主宿子組件,它便于主宿可在所述開發(fā)環(huán)境中操縱的文檔。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述文檔能夠使用所述未管理的應(yīng)用程序和所述開發(fā)環(huán)境的至少一個(gè)來操縱。
9.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述文檔是新文檔和已存在文檔之一。
10.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括一設(shè)計(jì)器框架,它便于將所述主宿組件與所述開發(fā)環(huán)境接口。
11.如權(quán)利要求1所述的系統(tǒng),其特征在于,它便于主宿多個(gè)不同的未管理應(yīng)用程序。
12.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有用于實(shí)現(xiàn)權(quán)利要求1所述的系統(tǒng)的計(jì)算機(jī)可執(zhí)行指令。
13.一種采用權(quán)利要求1所述的系統(tǒng)的計(jì)算機(jī)。
14.如權(quán)利要求1所述的系統(tǒng),其特征在于,它還包括一托盤組件,它便于在所述IDE中呈現(xiàn)非可視數(shù)據(jù)。
15.一種方便IDE的系統(tǒng),其特征在于,包括一未管理的應(yīng)用程序,它便于處理文檔;以及一主宿組件,它與所述未管理應(yīng)用程序接口,使得所述未管理應(yīng)用程序擔(dān)當(dāng)所述IDE中的設(shè)計(jì)器,所述主宿組件還包括一集成接口,以便將第三方未管理應(yīng)用程序作為設(shè)計(jì)器集成到所述開發(fā)環(huán)境中;一宿主適配器,它與所述未管理應(yīng)用程序接口,所述適配器是應(yīng)用程序?qū)S玫模员阌趯⑺鑫垂芾響?yīng)用程序集成到所述開發(fā)環(huán)境中;以及一文檔主宿子組件,它便于主宿能夠在所述開發(fā)環(huán)境中操縱的文檔。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述主宿組件還包括一設(shè)計(jì)器框架,它便于將所述主宿組件與所述開發(fā)環(huán)境接口。
17.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述未管理應(yīng)用程序的原有功能在所述IDE中是可用的。
18.如權(quán)利要求15所述的系統(tǒng),其特征在于,它便于向所述文檔添加控件和編輯所述控件的屬性。
19.如權(quán)利要求15所述的系統(tǒng),其特征在于,它便于將所述未管理應(yīng)用程序和所述IDE的菜單的合并。
20.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述文檔包含嵌入和鏈接的對象的至少一個(gè)。
21.如權(quán)利要求15所述的系統(tǒng),其特征在于,它便于呈現(xiàn)一顯示代碼在后工程項(xiàng)目的屬性的屬性窗口。
22.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述設(shè)計(jì)器在一設(shè)計(jì)視圖和一代碼視圖中操作。
23.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述設(shè)計(jì)器能夠以二進(jìn)制格式和XML格式中的至少一個(gè)來處理所述文檔。
24.一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有用于實(shí)現(xiàn)一種將一未管理應(yīng)用程序集成到一開發(fā)環(huán)境中的方法的計(jì)算機(jī)可執(zhí)行指令,其特征在于,所述方法包括接收所述未管理應(yīng)用程序;以及將所述未管理應(yīng)用程序與所述開發(fā)環(huán)境接口,所述開發(fā)環(huán)境具有一宿主適配器,所述適配器專用于所述未管理應(yīng)用程序,使得所述未管理應(yīng)用程序可以作為所述開發(fā)環(huán)境中的設(shè)計(jì)器來訪問。
25.如權(quán)利要求24所述的方法,其特征在于,它還包括在所述開發(fā)環(huán)境中主宿一文檔,使得所述文檔可使用所述未管理應(yīng)用程序的原有功能和所述開發(fā)環(huán)境的功能來操縱。
26.如權(quán)利要求24所述的方法,其特征在于,它還包括在所述開發(fā)環(huán)境中主宿一文檔,并且展示一與所述文檔相關(guān)聯(lián)的代碼在后文件,使得所述文件的內(nèi)容可以被操縱。
27.如權(quán)利要求24所述的方法,其特征在于,它還包括在所述開發(fā)環(huán)境中主宿一文檔,并且展示一與所述文檔的每一子文檔相關(guān)聯(lián)的代碼在后文件,使得每一文件的內(nèi)容可以被操縱。
28.如權(quán)利要求24所述的方法,其特征在于,它還包括提供一視圖控件,它響應(yīng)于一事件而觸發(fā)。
29.一種將未管理應(yīng)用程序集成到開發(fā)環(huán)境中的方法,其特征在于,包括接收所述未管理應(yīng)用程序;用一宿主適配器將所述未管理應(yīng)用程序與所述開發(fā)環(huán)境接口,所述適配器專用于所述未管理應(yīng)用程序,使得所述未管理應(yīng)用程序可以作為所述開發(fā)環(huán)境中的設(shè)計(jì)器來訪問;以及在所述開發(fā)環(huán)境中主宿一文檔,使得所述開發(fā)環(huán)境和所述未管理應(yīng)用程序的功能可用于操縱所述文檔。
30.如權(quán)利要求29所述的方法,其特征在于,它還包括通過以下的至少一個(gè)來操縱所述文檔執(zhí)行將一控件拖放到所述文檔上的操作;察看與所述文檔相關(guān)聯(lián)的個(gè)數(shù)據(jù)在后文件;在所述數(shù)據(jù)在后文件中寫入已管理代碼;以設(shè)計(jì)模式和運(yùn)行時(shí)模式操作所述設(shè)計(jì)器;呈現(xiàn)非可視數(shù)據(jù);以及將已管理對象繪制到所述文檔上。
31.如權(quán)利要求29所述的方法,其特征在于,它還包括為所述未管理應(yīng)用程序提供一專用偏好頁面,使得當(dāng)被集成到所述開發(fā)環(huán)境中時(shí),所述未管理應(yīng)用程序根據(jù)所述偏好而表現(xiàn)。
32.一種便于將一未管理應(yīng)用程序集成到一開發(fā)環(huán)境中的系統(tǒng),其特征在于,包括用于接收所述未管理應(yīng)用程序的裝置;用于將所述未管理應(yīng)用程序與所述開發(fā)環(huán)境接口的裝置,所述開發(fā)環(huán)境具有一宿主適配器,所述適配器專用于所述未管理應(yīng)用程序,使得所述未管理應(yīng)用程序可以作為所述開發(fā)環(huán)境中的設(shè)計(jì)器來訪問。用于在所述開發(fā)環(huán)境中主宿一文檔的裝置,使得所述開發(fā)環(huán)境和所述未管理應(yīng)用程序的功能可用于操縱所述文檔;以及用于操縱所述文檔的裝置。
33.如權(quán)利要求32所述的方法,其特征在于,所述用于操縱的裝置還包括用于以下的至少一個(gè)的操縱裝置實(shí)行將控件拖放到所述文檔上的操作;察看與所述文檔相關(guān)聯(lián)的數(shù)據(jù)在后文件;在所述數(shù)據(jù)在后文件中寫入已管理代碼;以設(shè)計(jì)模式和運(yùn)行時(shí)模式操作所述設(shè)計(jì)器;呈現(xiàn)非可視數(shù)據(jù);以及在所述文檔上繪制已管理的對象。
34.如權(quán)利要求32所述的方法,其特征在于,它還包括用于展示所述文檔的屬性和組件以供操縱的裝置。
全文摘要
一種將未管理應(yīng)用程序作為主宿的應(yīng)用程序按一致且仍可用的方式集成到設(shè)計(jì)環(huán)境中的體系結(jié)構(gòu),使得開發(fā)人員可以使用該主宿的應(yīng)用程序的原有功能,同時(shí)調(diào)節(jié)由該IDE提供的豐富的生產(chǎn)效率的特征。該IDE包括一個(gè)主宿組件,它包括一應(yīng)用程序適配器,用于提供從該未管理應(yīng)用程序到該IDE的接口。該IDE還包括一設(shè)計(jì)器框架,它向用戶提供對該IDE的設(shè)計(jì)器能力的訪問。該宿主適配器直接地和/或通過集成接口與設(shè)計(jì)器框架接口。由此,開發(fā)人員/用戶然后能夠訪問未管理應(yīng)用程序的原有功能以及IDE的功能。這就提供了開發(fā)環(huán)境和主宿的應(yīng)用程序之間的豐富的集成性,其最后的結(jié)果是該設(shè)計(jì)器與該IDE交互。
文檔編號(hào)G06F17/21GK1655120SQ20051000815
公開日2005年8月17日 申請日期2005年2月6日 優(yōu)先權(quán)日2004年2月13日
發(fā)明者R·奇特薩茲, S·羅克什, T·E·奎恩 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
横峰县| 怀来县| 色达县| 本溪市| 汉沽区| 古交市| 根河市| 洛浦县| 临沭县| 深水埗区| 通州区| 枞阳县| SHOW| 大港区| 屏边| 迁西县| 陇南市| 宜君县| 兴隆县| 天门市| 甘德县| 延吉市| 泗洪县| 博客| 靖边县| 千阳县| 柳州市| 宣武区| 兰溪市| 浮梁县| 渭源县| 志丹县| 赤水市| 安康市| 滨海县| 钟山县| 池州市| 瑞丽市| 板桥市| 梨树县| 文登市|