【這是本人在書上看到的一個例子,在這里和大家分享】
實例說明:
Visual C++6.0開發環境雖然提供了豐富的功能,但是也有不盡人意之處。例如,它沒有提供批量注釋和取消批量注釋的功能。但是,Visual C++6.0開發環境的設計者還是非常有遠見的,提供了一些接口允許用戶擴充開發環境的功能。例如,可以使用 VB Script 腳本來添加新的功能。本實例將介紹使用 VB Script 腳本實現批量注釋和取消批量注釋的功能。。。。。好了,不廢話了,,,直接 上 截圖 和 代碼 。
【1】 在 Visual C++ 6.0開發環境中選擇 【File】|【New】 命令,打開 New 窗口,選擇 【File】 選項卡。
【2】在列表中選擇【Macro File】選項,在【File】文本框中輸入文件名,單擊OK按鈕創建宏文件。如圖所示:
【3】單擊OK按鈕創建宏文件,彈出 Macro File 窗口。在 Description 備注中輸入宏文件的描述信息,單擊OK 按鈕創建宏文件。如圖:
【4】向宏文件中添加兩個子過程,語言為 VB Script,代碼如下。(直接拷貝代碼就可以了,不需要其他設置)
1 Sub SetSelNote() 'Sun DESCRIPTION: 過程 SetSelNote 用於使選中的文本成為注釋' 2 dim CurWin '當前獲得的窗口 3 set CurWin=ActiveWindow 4 if CurWin.type<>"Text" Then '判斷當前窗口是不是文本窗口 5 MsgBox"當前窗口不是代碼窗口" 6 else 7 NoteType="//" 8 BeginLine=ActiveDocument.Selection.TopLine 9 EndLine=ActiveDocument.Selection.BottomLine 10 if EndLine<BeginLine then 11 Line=BeginLine 12 BeginLine=EndLine 13 EndLine=Line 14 else 15 for row=BeginLine to EndLine 16 ActiveDocument.Selection.GoToLine row 17 ActiveDocument.Selection.SelectLine '選中當前行 18 ActiveDocument.Selection=NoteType+ActiveDocument.Selection 19 next 20 end if 21 end if 22 end Sub 23 24 Sub CancelSelNote() 25 dim CurWin '當前獲得的窗口 26 set CurWin=ActiveWindow 27 if CurWin.type<>"Text" then '判斷當前窗口是否是文本窗口 28 MsgBox"當前窗口不是代碼窗口" 29 else 30 BeginLine=ActiveDocument.Selection.TopLine 31 EndLine=ActiveDocument.Selection.BottomLine 32 if EndLine<BeginLine then 33 Line=BeginLine 34 BeginLine=EndLine 35 EndLine=Line 36 else 37 for row=BeginLine to EndLine 38 ActiveDocument.Selection.GoToLine row 39 ActiveDocument.Selection.SelectLine '選中當前行 40 SelBlock=ActiveDocument.Selection 41 Trim(SelBlock) 42 pos=instr(SelBlock,"//") 43 if pos<>0 then 44 RightBlock=Right(SelBlock,Len(SelBlock)-2) 45 ActiveDocument.Selection=RightBlock 46 end if 47 next 48 end if 49 end if 50 end Sub
【5】保存宏文件。
源代碼就這么一點。
接下來的操作,就是介紹 怎樣 把這個 .dsm 文件添加到編譯器中,供我們使用了。
【6】隨便打開一個VC的工程,或者自己新建一個工程。
然后,在打開的工程中,選擇 【工具】|【定制】,在彈出的對話框中,選擇最右邊的【附加項和宏文件】
然后,點擊【瀏覽】,找到你的那個 .dsm宏文件。好吧,看截圖。。。。
【】【】【】注意嘍。。。選擇 CancelSelNote ,把它 拖動到 工具欄中。(【拖】這個概念,相信拖過控件的童鞋都能理解)
此時,彈出了下面的窗口。。。保持默認選擇,點擊確定。。。同理,完成另外一個宏命令的添加。
-----------------------------------------------------------------------------------------------------------------------
到了此處,已經完成了實例的全部操作。
自己可以在打開的VC程序中進行測試 【批量注釋】和【取消批量注釋】這兩個功能了。
我相信,我的講的過程還是很詳細的。您可以參考圖片進行操作。。不熟悉環境的童鞋,要多多 練習內功了。。。
高手看了這篇文章,莫笑哦。。。給個建議啥的,也不錯啊。。我也是菜鳥一個。。。。
ps:
這個例子有個Bug....
當你用【取消注釋】這個功能時,它會刪除選中行的前兩個字符。。。
正常情況下,刪除的是每一行前面“//”這兩個字符,但是,有時候,你選中多行時,如果其中有1行是不帶注釋的,那么,它也會刪除這行的前兩個字符。自己可以慢慢試一下,就清楚了。
所以,在使用【 取消注釋 】功能時,要慎用。
如果有高手能改進這個 bug, 歡迎多多賜教。。。 我是來學習的。