HoTMetal中使用javascript
6.怎樣編寫一個儲存模組指令碼
在本節教程的例子中,我們建立了一個新的儲存模組檔案對話方塊。HoTMetaL裡面有幾個模板你可以從中進行選擇。模板只是一個普通的網頁,這個網頁被儲存HoTMetaL應用程式目錄的Template模板中。當你從檔案菜單中選擇新項目的時候,其中一個標籤選項是Page From Template。當你選擇了它,就會彈出一個標籤對話方塊,上麵包含了各種模板: General、 WebTV、 W3C、 Frame Pages、 Layout。
你可以通過儲存當前檔案到Template目錄下的一個目錄來建立一個新的模板。下面的宏,即Save As 模板,向你展示了怎樣使用HMExtras.FileDlg的DisplayFileDlg方法建立一個Save As對話方塊。這個對話方塊使用Template目錄作為預設的位置,以下是詳細的代碼:
<MACRO name="Save As Template" lang="JScript" id="90"><![CDATA[
var obj = new ActiveXObject("HMExtras.FileDlg");
var filter = "Web Page Template (*.htm, *.html)|*.htm;*.html|All Files (*.*)|*.*||";
if (obj.DisplayFileDlg(0, "File Save As", filter, Application.Path + "\\Template")) {
ActiveDocument.SaveAs(obj.FullPathName, true); // save and put on recent file list
}
]]></MACRO>
下面解釋一下上面的代碼:首先,我們利用HMExtras庫的FileDlg COM對象來建立一個ActiveX 控制項:
var obj = new ActiveXObject("HMExtras.FileDlg");
接著利用幾個條目來建立一個過濾器:
var filter = "Web Page Template (*.htm, *.html)|*.htm;*.html|All Files (*.*)|*.*||";
然後我們通過調用obj.DisplayFileDlg來顯示檔案對話方塊,最後我們在如果對話方塊存在的時候儲存檔案。
HoTMetal中使用Javascript
6.怎樣編寫一個儲存模組指令碼
讓我們增加第一個Save As 模板宏到檔案菜單中。你可以點擊檔案菜單條並選擇定製。接著選擇功能表標籤並導航到你想增加新的宏的地方去。點擊Add Submenu(增加子功能表)按鈕並填充缺少的項。對話方塊1所示。
(圖1)
下面我們測試一下這個功能表項目以及宏是如何工作的。拉下檔案菜單,你可以看到多了一個Save模板項,點擊它,你可以得到2的對話方塊:
找到你希望儲存檔案的目錄並給出檔案名稱字,點擊Save按鈕確認。