最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript實(shí)例教程(19) 使用HoTMetal(4)

 更新時(shí)間:2006年12月23日 00:00:00   作者:  
HoTMetal中使用javascript

4. 怎樣編寫文檔格式的腳本

下面舉個(gè)宏的例子:根據(jù)預(yù)定義的頁面的布置準(zhǔn)則來格式化文檔。為了觀察這個(gè)宏的效應(yīng),請關(guān)閉Enable Source Layout(允許源程序布局)按鈕,具體從菜單中選擇Tools(工具)->Customization(定制)。我們首先打開應(yīng)用程序來初始化一些全局的變量。另外宏的名字必須為n_Application_Open,具體的代碼如下:

<MACRO name="On_Application_Open" lang="JScript"><![CDATA[

var viewWYSIWYG = 0;

var viewTagsOn = 1;

var viewSource = 2;

]]></MACRO>

這個(gè)宏必須在打開HoTMetaL應(yīng)用程序的時(shí)候才被調(diào)用。它唯一的目的就是定義三個(gè)常數(shù),這些常數(shù)用于其它的宏。這些常數(shù)只是代表了三個(gè)相應(yīng)的HoTMetaL視圖。操作HoTMetaL的編輯窗口的左邊按鈕邊角上的窗口標(biāo)簽,你可以看到WYSIWYG(即所見即所得)視圖,TagsOn視圖和源程序視圖。

下面得宏是檢查當(dāng)前視圖是否是源視圖并且根據(jù)預(yù)定義的準(zhǔn)則格式化整個(gè)文檔。如果視覺圖不是源視圖,一個(gè)消息就會打印出來顯示給用戶,并且告訴用戶切換視圖,代碼如下:

<MACRO name="Format Current Document" lang="JScript" id="153" desc="Apply source layout to entire document">

<![CDATA[

if (ActiveDocument.ViewType == viewSource) {

ActiveDocument.Layout();

}

else {

Application.Alert("Applying source layout only works in source view.\nSwitch to source view and try again.");

}

]]></MACRO>

這里要注意,我們在這里已經(jīng)使用了兩個(gè)HotMetaL的對象:ActiveDocument 和 Application。這個(gè)Layout()方法格式化了當(dāng)前文檔。而Alert()方法彈出了一個(gè)警告方框。
好吧,現(xiàn)在讓我們來測試一下這個(gè)宏。請?jiān)贖otTMetaL中打開一個(gè)文檔并將視圖切換到源程序視圖。你可以在ProgGuide目錄中選擇其中一段。并且通過使用Tools(工具)->Customization(定制)關(guān)閉Enable Source Layout按鈕。接著將其中一行用加入空格往右移,再從工具菜單中調(diào)用宏對話框。這時(shí)會展現(xiàn)出定義在HotMetaL.mcr文件的宏的列表。然后運(yùn)行Refresh Macros宏來裝載你剛才編輯的新的宏。你將會看到Format Current Document (格式當(dāng)前文檔)宏。你可以運(yùn)行它并且注意那個(gè)縮進(jìn)的行回到它的原位置。接下來我們測試一下Alert()方法?,F(xiàn)在將視圖切換到TagsOn視圖并再次運(yùn)行宏,會彈出如圖1的對話框:



(圖1)

現(xiàn)在假設(shè)你想格式化文檔中所選擇的部分。這個(gè)請求的宏(稱為Format Current Selection)跟上面所述的宏(Format Current Document)很類似。它們之間的不同只是在:Format Current Document中 Layout()方法是操作ActiveDocument 對象,而Format Current Selection中 Layout()方法是操作Selection對象:

<MACRO name="Format Current Selection" lang="JScript" id="53" desc="Apply source layout to the current selection">

<![CDATA[

if (ActiveDocument.ViewType == viewSource) {

Selection.Layout();

} else{

Application.Alert("Applying source layout only works in source view.\nSwitch to source view and try again.");

}

]]></MACRO>
下面讓我們好好看看上面這個(gè)宏是如何工作的。我們在打開的文檔中縮進(jìn)了兩行。第一行是以”does not specify”開頭的,而另外一句是以"referred to in this ma:"開頭的。如圖2所示:



(圖2)

現(xiàn)在我們選擇三行,這三行包括了以"does not specify:"開頭的行,如圖3所示:



(圖3)

最后我們點(diǎn)擊中在窗口左上角上的綠色箭頭,接著宏的名字(Format Current Selection)就顯示在下拉菜單的窗口中,如圖4所示:



(圖4)

值得一提的是,被選擇的行已經(jīng)被格式化為原來的段落邊界。以"referred to in this ma"為開頭的第二行保持縮進(jìn)狀態(tài)而沒有被格式化。

相關(guān)文章

  • javascript真的不難-回顧一下基礎(chǔ)知識

    javascript真的不難-回顧一下基礎(chǔ)知識

    先來學(xué)習(xí)一下Javascript語言中的基礎(chǔ)知識問題其時(shí)對于每種編程語言來說基礎(chǔ)知識都是大同小異的,對變量,函數(shù),條件語句塊,循環(huán)語句塊等等,本文簡要介紹一下,感興趣的朋友可以了解下
    2013-01-01
  • Knockout text綁定DOM的使用方法

    Knockout text綁定DOM的使用方法

    本文講解Knockout text綁定到DOM元素上,使得該元素顯示的文本值為你綁定的參數(shù)。該綁定在顯示<span>或者<em>上非常有用,可以用在任何元素上
    2013-11-11
  • 深入了解javascript中的prototype與繼承

    深入了解javascript中的prototype與繼承

    本篇文章,小編將和大家一起深入了解javascript中的prototype與繼承,有需要的朋友可以參考一下
    2013-04-04
  • 淺談ECMAScript6新特性之let、const

    淺談ECMAScript6新特性之let、const

    下面小編就為大家?guī)硪黄獪\談ECMAScript6新特性之let、const。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • 最新評論

    罗平县| 米易县| 齐齐哈尔市| 铜梁县| 修文县| 丘北县| 城步| 宽甸| 牡丹江市| 海南省| 丘北县| 洪雅县| 淳化县| 罗定市| 焦作市| 德令哈市| 金塔县| 盐池县| 慈利县| 乐平市| 兴城市| 彰化市| 怀集县| 阳谷县| 天祝| 称多县| 吉水县| 鄄城县| 华亭县| 玉山县| 昌吉市| 铜鼓县| 怀化市| 原平市| 黄石市| 嘉峪关市| 漳浦县| 同德县| 巴林左旗| 龙江县| 安乡县|