久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇開發語言培訓專區C++語言開發 → 增強Visual C++開發環境_VC技術_C語言教程


  共有8144人關注過本帖樹形打印

主題:增強Visual C++開發環境_VC技術_C語言教程

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
增強Visual C++開發環境_VC技術_C語言教程  發帖心情 Post By:2010-12-10 15:05:00

       程序和軟件都是使用它來開發出來的。VC的開發環境提供了強大的功能,為開發人員方便、快速、高效地開發應用給予了強有力的支持。但是由于程序員各有各的特點和習慣,所以還可能會有很多對編程開發環境不同的需要。VC的IDE集成開發環境充分考慮到了這一點,專門提供了對開發環境進行擴展的功能,使得開發員可以根據需要,通過一些編程開發來增強VC開發環境本身的功能。

Visual C++的自動化機制
  在使用VC來進行開發的時候,在VC的集成開發環境里可以手工進行很多操作,例如:使用菜單命令來打開一個項目、修改源文件、保存文件,然后編譯連接得到可執行的文件等等。這些操作大部分都是例行的、重復多次進行的。

  VC提供了一種Automation自動化(來自以前的OLE自動化)的擴展機制。VC的開發者可以通過開發VBScript宏或者插件,讓IDE來自動執行一些操作。好處是顯然的:可以大大縮短這些操作的時間,而且還可以避免在手工操作可能出現的一些錯誤,如遺漏、鍵入錯誤等等。VBScript宏是使用VBScript語言寫的一些程序,而插件則是使用VC或者Visual Basic開發的COM構件。

  我們還可以使用VBScript宏和插件來對VC本身的界面進行美化、改造,例如為VC的窗口加上頁簽(與Delphi的界面類似)等等。

  在宏或者插件里,VC的集成開發環境本身以及它的各個部件都可以作為對象來進行操作。例如,通過操作與項目的文件對應的對象,可以對某個文件進行打開、編輯和關閉等操作。類似的,操作與IDE中的窗口對應的對象,可以激活一個窗口、改變窗口的大小等等。

  一個對象可以是集成開發環境的一個部件,或者一組相關的部件。例如,一個Document文件對象表示一個打開的文件,而Documents對象則表示所有打開的文件。類似,一個Window窗口對象表示一個打開的窗口,而Windows對象表示所有打開的窗口。Documents和Windows對象稱為集合對象,它們包含了相關的一組對象。

  每一個IDE環境的對象都實現了一個雙向的接口,提供了大量的方法、屬性和事件,在開發VBScript宏和插件的時候需要使用這些方法、屬性和事件來操作這些對象。同時,每一個對象為Automation機制實現了一個IDispatch接口和一個COM接口,來支持對對象成員(屬性、方法和事件)的訪問。

  為了更好地操作集成開發環境的對象,必須知道這些對象之間的關系。對象之間有一個層次包含的關系。Application對象是最頂層的,其它的對象都是從屬于它的。有了這個關系,就可以使用Application對象的屬性和方法來直接訪問它的所有下屬對象啦!VC集成開發環境的對象以及它們之間的包含關系如下:
Application
Application(Application也可以包含自己)
Projects
Project
Configurations
Configuration
Configurations(循環)
Documents
Document
Window(一般窗口)
TextDocument
TextSelection
TextWindow
Window(文本窗口)
TextEditor
Windows
Debugger
Breakpoints
Breakpoint

  例如,Breakpoints對象有一個Breakpoint對象作為它的屬性之一,也就是說Breakpoints對象包含了一個或者多個Breakpoint對象。這樣就可以通過一個對象的屬性來訪問它包含的所有下屬對象。反過來,也可以通過一個對象的Parent屬性來訪問它所屬的對象。

  VC這種環境的對象封裝機制為我們開發VBScript宏和插件來擴展VC集成開發環境的功能提供了極大的方便。下面就讓我們具體看看怎樣來開發VBScript宏和插件,利用VC的Automation機制,增強VC開發環境的功能,以方便自己日常的開發工作。

VBScript宏
VBScript宏是使用VBScript語言寫的不帶參數的過程。VBScript宏不單單可以用在VC里,在微軟的Office工具里也可以使用。我們可以使用宏來極大地簡化VC里的一些工作,例如組合一些命令、進行一些快速編輯或者自動進行一些復雜的處理等等。VBScript宏以Sub語句開始,然后是執行一些操作的VBScript語句,以End Sub語句結束。

我們先來看一個具體的宏。下面是快速創建一個C/C++文件的VBScript宏。
Sub CreateCPPFile
Set CPPDoc = Document.Add("Text")
CPPDoc.Language = dsCPP
End Sub

從這個簡單的宏,我們可以看到:
* Sub語句開始一個宏的定義,這個宏的名字是CreateCPPFile。宏的名字是任意的,可以選擇易于記憶的名字。
* 宏的第一行使用Documents對象的Add方法,往Documents對象里增加了一個Document對象,從而創建了一個新文件。
* 宏的第二行通過設置Document對象的Language屬性為常量dsCPP(代表C/C++),指定該文件的類型是C/C++文件。
* End Sub語句結束這個宏。
得到一個VBScript宏有兩個途徑:記錄或者手工書寫。最簡單、最容易的方法當然是記錄啦!在你記錄一個宏的時候,宏記錄器跟蹤你的動作,把這些動作轉換成VBScript語句,然后把這些語句插入到宏里面。

  VC提供了兩種宏記錄的方法:正常宏記錄和快速宏記錄。
快速宏記錄則可以快速記錄你的一些動作,而不需要命名、描述或者編輯這個宏,但是只可以保存一個,重新記錄將刪掉原來的快速宏。記錄快速宏的簡單過程如下:(1)選擇Tools菜單里的Record Quick Macro命令;(2)執行需要記錄的動作,在執行動作的過程中可以使用宏記錄器工具條上的Pause暫停按鈕來臨時中斷記錄或者繼續記錄;(3)完成所有動作后,點擊宏記錄器工具條上的Stop按鈕即可。需要使用這個快速宏,選擇Tools菜單的Play Quick Macro命令即可。

  如果你想要記錄一個復雜的宏,而且要進行一些編輯,那就要使用正常的宏記錄了。錄制正常宏的過程如下:(1)選擇Tools菜單的Macro命令打開宏管理器,如圖1所示;(2)如果需要把宏加到一個新的宏文件里,點擊Options按鈕,點擊New File按鈕,然后在Macro File框里填入文件名字;如果需要把宏加到一個已有的文件里,則從Macro File的下拉框里選擇文件;(3)在Macro Name框里寫入宏的名字;(4)點擊Record按鈕;(5)在Add Macro對話框里寫入宏的描述,點擊OK按鈕;(5)執行需要記錄的動作,中間可以點擊Pause按鈕暫停或者繼續;(6)點擊Stop按鈕完成錄制,這時候VC將打開宏文件,并且把光標停在宏的起始點,你可以對宏進行檢查或者編輯。

圖1
  也可以往一個新的或者已有的宏文件里添加代碼,直接手工寫一個宏。步驟如下:(1)選擇Tools菜單的Macro命令打開宏管理器;(2)選擇宏文件或者新建宏文件;(3) 在Macro Name框里寫入宏的名字;(4)點擊Edit按鈕;(5)在Add Macro對話框里寫入宏的描述,點擊OK按鈕,VC將打開宏文件,在文件的尾部為新的宏創建一個架子-Sub塊,如下所示(假設宏的名字為MyMacro):
Sub MyMacro()
'Description: The macro description goes here
'TODO: Insert the macro code here.
//這一段是自己編寫的,為選中的文本加C語言的注釋符號
ActiveDocument.Selection = "/*" + ActiveDocument.Selection + "*/"
End Sub
你就可以往這個架子里填寫入具體操作了。

  在記錄或者編寫好宏以后,宏將被保存在一個文本文件-宏文件里。在你開始記錄或者編寫新的宏的時候,需要選擇宏文件。宏文件的擴展名為.DSM,包含了一個或者多個VBScript宏,數量看需要而定。宏文件的一般格式是:開始是對這個文件的一些描述,然后就是每個宏的具體定義。

  在VC里使用宏文件需要先安裝。一旦安裝了以后,每次啟動VC的時候都會自動裝載這些宏,可以在所有的項目里使用,不依賴于項目。安裝宏文件的方法如下:(1)選擇Tools菜單的Customize命令;(2)選擇Add-ins and Macro Files頁簽,如圖2所示,如果宏文件的名字沒有出現在窗口里,則點擊Browse按鈕去定位。(3)在窗口里打勾選上需要安裝的宏文件即可;如果取消選擇某個宏文件,則會卸載這個宏文件。

圖2
  有了VBScript宏,只要運行它即可以自動幫你完成所需要的操作啦!如果需要經常運行某個宏,那么可以為這個宏分配一個工具條按鈕或者熱鍵,這樣就可以通過點擊按鈕或者按熱鍵方便地運行這個宏了。分配按鈕的具體設置是:(1)選擇Tools按鈕的Customize命令;(2)選擇Commands頁簽;(3)在Category框里選擇Macros;(4)在Commands框里,把要分配工具條按鈕的宏直接拖放到工具條上;(5)這時會彈出一個Button Appearance對話框,如圖3所示,為這個按鈕選擇一個合適的位圖,點擊OK即可,VC將在工具條上添加上這個宏的一個按鈕。分配熱鍵的方法是:(1)選擇Tools按鈕的Customize命令;(2)選擇Keyboard頁簽;(3)在Category框里選擇Macros;(4)在Commands框里,選擇要分配熱鍵的宏;(5)點擊Press new shortcut key框,按下熱鍵,然后點擊Assign按鈕就可以了。

圖3

VC插件 
  前面提到,VBScript宏和VC插件都可以用來擴展VC集成開發環境的功能,美觀、改造VC的界面,但是它們是有區別的。主要的區別當然在于:VBScript宏是使用VBScript語言寫的過程,而VC插件則是使用VC或者Visual Basic開發的COM構件。
開發VBScript宏比開發插件容易多了。生成一個VBScript宏只需要記錄宏、增加一些代碼(需要的話),然后運行就可以了。而生成一個插件需要VC來編寫代碼,編譯成DLL,然后與VC的集成開發環境連接(安裝插件),才能使用它提供的功能。
VBScript宏在功能上弱于插件。在宏里面,只能夠使用VBScript語言,只能訪問VC集成開發環境的對象;而插件則可以使用更多的語言(VC、VB),不僅能使用VC集成開發環境的對象,還可以使用整個計算機系統的資源。例如,宏里面與用戶交互只能使用VBScript提供的兩個對話框InputBox和MsgBox,而插件則可以使用任何形式的對話框。

  從VBScript宏與插件的這些區別可以知道:如果使用VBScript宏可以完成的任務,建議盡量使用VBScript宏,因為開發一個VBScript宏比開發一個插件要簡單得多、快得多。VC插件更適合于用來提供復雜的功能,例如:全局查找替換、保存所有的文件并編譯、把VC的窗口變成頁簽式界面(如圖4所示)等等。

圖4

開發插件的基本步驟如下:
  首先,需要設計插件。要確定:插件的功能、是否可以采用VBScript宏來實現(如果可以,就不開發這個插件而選擇宏)、插件提供哪些功能、需要使用哪些集成開發環境的對象、需要使用哪些屬性和方法、需要幾個插件、是否需要使用對話框、使用什么對話框、是否需要使用別的插件、是否需要使用別的應用等等。

  其次,需要確定使用什么語言來開發插件,F在Visual C++、Visual Basic的4.0以上的版本都支持VC插件的開發。VC專門為插件開發提供了一個向導,可以幫你完成大部分的工作。如果使用Visual Basic的話,則需要使用一些類型庫來訪問VC集成開發環境的對象。因此,建議你使用VC來開發比較方便。

  接著,需要創建一個插件的項目。使用VC的插件向導,向導將自動創建一個項目。如果使用VB來開發插件,最好以一個例子為基礎。

  項目創建了以后,就需要編寫代碼了。如果使用了VC的插件向導或者以VB的一個例子為基礎的話,那么大部分代碼已經有了,你只需要加入具體處理的一些代碼即可。

  然后,把項目編譯連接成DLL,可以把多個插件合并在一個DLL里。最后,在VC里安裝這個插件就可以使用了。運行命令行命令、點擊插件提供的工具條按鈕或者按插件提供的熱鍵就可以使用插件了。

  VC 5.0以上的版本專門為插件的開發提供了一個插件向導。可以使用這個向導輕松、快速地生成插件的基本代碼,然后根據自己的需要進行修改。使用VC的插件向導進行插件開發的步驟如下:
首先,設計插件。接著,使用插件向導生成新的插件項目:(1)選擇File菜單的New命令;(2)在New對話框里,選擇Projects頁簽;(3)在窗口里選擇Developer Studio Add-in Wizard,在Project Name框里填入項目的名字,然后點擊OK;(4)這時進入插件向導(見圖5),為插件填寫名字和描述;如果插件需要工具條按鈕,則選上Provides a toolbar選項;如果插件需要處理VC集成開發環境對象的事件,則選上Responds to Developer Studio events選項,向導將為每個事件添加一個代碼框架,你必須為需要的事件提供具體的處理;點擊OK;(5)在彈出的New Project Information對話框里檢查向導即將生成的文件及項目目錄,確認正確后點擊OK就生成插件項目了。

圖5
然后,定制插件的功能或者增加新的功能。插件向導自動生成了添加一個功能到VC集成開發環境的代碼,但是如果你需要定制或者添加更多的功能的話,則要修改代碼,這個與普通應用開發是一樣的。修改需要使用到Application對象的三個方法:使用AddCommand方法添加一個功能;使用AddCommandBarButton方法添加一個工具條按鈕;使用AddKeyBinding方法來添加一個熱鍵。具體的做法請參照VC插件開發的幫助。

  這里需要簡單說明一下VC集成開發環境與插件之間的關系,如圖6所示。每一個插件都向外提供了兩個對象DSAddIn和Commands。VC的集成開發環境使用DSAddIn對象來裝載或者卸載一個插件,使用Commands對象來執行插件提供的功能。具體來說,VC是調用插件的DSAddIn對象的OnConnection方法來裝載插件的,這個方法還發布了插件向外提供的功能接口,如果插件包含了事件的處理,還把連接到VC集成環境的事件上。VC調用DSAddIn對象的OnDisconnection方法來卸載插件。Commands對象則包含了AddCommand所加入的每一個功能接口,編寫插件的時候必須為每一個功能接口編寫代碼。

圖6

  最后,把插件編譯連接成DLL。安裝插件的方法是:(1)選擇Tools菜單的Customize命令;(2)選擇Add-ins and Macro Files頁簽,如果插件的名字沒有出現在窗口里,則點擊Browse按鈕去定位。(3)在窗口里打勾選上需要安裝的插件即可;如果取消選擇某個插件,則會卸載這個插件。插件安裝了以后,VC每次啟動都會自動裝載這個插件,你就可以使用這個插件提供的功能來為自己的應用開發服務了。


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

增強Visual C++開發環境_VC技術_C語言教程








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
国产一区二区久久| 一区二区三区成人在线视频| 亚洲欧美在线网| 亚洲欧美日韩精品久久久 | 永久免费精品视频网站| 色88888久久久久久影院按摩| 在线精品日韩| 欧美日韩一区 二区 三区 久久精品 | 亚洲精品视频在线看| 亚洲精品高清视频在线观看| 亚洲美女视频一区| 日韩成人伦理电影在线观看| 精品无码三级在线观看视频| 91在线porny国产在线看| 99久久精品无码一区二区毛片 | 亚洲欧美日韩精品久久久久| 亚洲国产日韩在线一区模特| 美女www一区二区| av电影在线观看完整版一区二区| 久久综合九色综合久99| 色天使久久综合网天天| 精品成a人在线观看| 亚洲视频中文字幕| 美女高潮久久久| 91麻豆精品秘密入口| 一本色道久久综合亚洲91| 欧美高清激情brazzers| 综合久久久久综合| 免费在线观看一区| 99热在线播放| 色狠狠色狠狠综合| 国产欧美日韩综合精品一区二区 | 精品制服美女久久| 国产精品一区二区三区免费| 色美美综合视频| 亚洲国产精品黑人久久久| 日韩av中文在线观看| 91毛片在线观看| 一区二区三区偷拍| 日本一区二区在线不卡| 久久成人麻豆午夜电影| 久久一区免费| 日韩精品一区二区三区视频在线观看| 亚洲黄色录像片| 91成人理论电影| 欧美性生交片4| 中文字幕亚洲一区二区va在线| 国产一区二区三区高清播放| 午夜一区二区三区| 中文字幕一区二区三区在线播放 | 麻豆亚洲一区| 欧美精品一区二区久久久| 日本欧美一区二区在线观看| 国产精品我不卡| 日韩精品中文字幕一区二区三区 | 国产精品午夜电影| 国产成人免费在线视频| 一本大道av伊人久久综合| 中文字幕一区二区三区乱码在线 | 91丨九色丨尤物| 欧美日韩精品一区二区三区 | 精品亚洲欧美日韩| 国产无一区二区| 岛国一区二区三区| 在线成人免费观看| 久久机这里只有精品| 一区二区视频在线播放| 亚洲一区二区偷拍精品| 久久久久成人精品免费播放动漫| 337p粉嫩大胆噜噜噜噜噜91av| 国内外精品视频| 欧美在线免费视屏| 天堂蜜桃91精品| 五月天久久综合网| 亚洲自拍偷拍综合| 欧美凹凸一区二区三区视频| 国产欧美精品一区| 7777奇米亚洲综合久久| 精品国产a毛片| 成人免费看黄yyy456| 欧美一区二区三区系列电影| 国产专区欧美精品| 7777精品伊人久久久大香线蕉最新版| 久久精品999| 欧美精品xxxxbbbb| 国产精品99久久久久久有的能看| 欧美日韩精品一区二区三区四区 | 亚洲人成在线播放网站岛国 | 色综合久久久久久久久久久| 首页综合国产亚洲丝袜| 亚洲综合网中心| 奇米影视一区二区三区| 在线看一区二区| 九九**精品视频免费播放| 欧美精品九九99久久| 国产91精品免费| 337p粉嫩大胆噜噜噜噜噜91av| av激情综合网| 亚洲国产激情av| 久久亚裔精品欧美| 亚洲成人综合网站| 欧美日韩综合在线免费观看| 国产电影精品久久禁18| 日韩免费高清av| 99在线视频播放| 亚洲欧洲制服丝袜| 亚洲一区二区精品在线观看| 久久精品国产久精国产| 日韩一区二区三区精品视频| 91麻豆swag| 亚洲猫色日本管| 91行情网站电视在线观看高清版| 狠狠色狠狠色合久久伊人| 亚洲精品一区二区三区影院 | 午夜精品福利一区二区三区蜜桃| 欧美在线观看视频一区二区三区| 国产激情视频一区二区三区欧美| 久久婷婷综合激情| 久久亚洲综合网| 蜜桃视频在线观看一区| 欧美mv日韩mv| 免费看污久久久| 激情小说欧美图片| 中文字幕av免费专区久久| 一区二区不卡视频| 成人午夜免费av| 亚洲男女一区二区三区| 欧美日韩中文另类| 国产精品乱码视频| 美女一区二区三区| 国产亚洲欧美日韩俺去了| 日韩欧美一区二区三区久久婷婷| 国内精品国产成人国产三级粉色 | 亚洲高清中文字幕| 91精品国产aⅴ一区二区| 久久av一区二区三区亚洲| 久久激情五月婷婷| 国产精品成人一区二区三区夜夜夜| 在线视频不卡国产| 99高清视频有精品视频| 免费观看一级特黄欧美大片| 久久久久99精品国产片| 色综合色综合色综合| 97se视频在线观看| 久久99精品久久久久久动态图| 亚洲国产精品激情在线观看| 欧美亚洲丝袜传媒另类| 精品伊人久久大线蕉色首页| 国产一区二区电影| 亚洲妇女屁股眼交7| 久久女同精品一区二区| 91高清在线观看| 蜜桃成人在线| 丁香另类激情小说| 丝袜亚洲另类欧美综合| 国产亚洲精品久| 欧美日韩免费一区二区三区| 欧美一二三四五区| 91色综合久久久久婷婷| 理论电影国产精品| 亚洲码国产岛国毛片在线| 精品国产在天天线2019| 一区二区日本| 成人黄动漫网站免费| 国产一级精品在线| 亚洲成人黄色小说| 中文字幕一区二区三区蜜月| 日韩一级免费一区| 在线免费精品视频| 日本在线观看不卡| 国产精品一区二区在线观看| 国产激情一区二区三区| 蜜臀久久99精品久久久久宅男 | 国产在线精品一区二区不卡了| 国产精品的网站| 久久新电视剧免费观看| 欧美精品久久久久久久多人混战| 日韩精品一区二区三区四区五区| 99在线看视频| 99久久精品免费| 国产成人免费网站| 黄页网站大全一区二区| 天堂资源在线中文精品| 一区二区三区产品免费精品久久75| 国产欧美一区二区精品仙草咪| 日韩欧美国产午夜精品| 欧美猛男gaygay网站| 色呦呦网站一区| 中文字幕日韩精品久久| 水蜜桃一区二区三区| 清纯唯美一区二区三区| 精品国产乱码久久久久久久软件| 99久久99久久综合| 国产91精品入口| 国产成人精品免费看| 麻豆国产精品视频| 毛片一区二区三区| 麻豆国产欧美日韩综合精品二区 | 狠狠色噜噜狠狠狠狠色吗综合| 99九九99九九九视频精品|