阿盧網(wǎng)頁(yè)精靈是一款簡(jiǎn)單實(shí)用、功能強(qiáng)大的網(wǎng)頁(yè)特效軟件。傳統(tǒng)的網(wǎng)頁(yè)特效軟件只是羅列了各種網(wǎng)頁(yè)特效代碼,如果將這些代碼添加到html文檔中,還要求網(wǎng)頁(yè)制作者必須了解html語(yǔ)言,而且即使對(duì)熟悉html的用戶要想修改特效代碼中的參數(shù)也是非常麻煩。這款軟件則解決了這個(gè)問題,您只要選擇一個(gè)要添加的特效,在彈出的對(duì)話框中填入幾個(gè)相關(guān)參數(shù),軟件將自動(dòng)將特效代碼添加到網(wǎng)頁(yè)代碼的合適位置,方便、實(shí)用。
阿盧網(wǎng)頁(yè)精靈采用tbw100技術(shù)支持插件式開發(fā),如果您熟悉動(dòng)態(tài)鏈接庫(kù)(dll)編程,還可以為本軟件寫新的網(wǎng)頁(yè)特效插件,插件開發(fā)完畢后拷貝到網(wǎng)頁(yè)精靈的安裝目錄的PlugIns目錄下即可,擴(kuò)展性非常良好。軟件安裝包中有插件開發(fā)指南和兩個(gè)插件的源代碼供您參考,喜歡的朋友請(qǐng)下載使用。
開發(fā)指南:
阿盧網(wǎng)頁(yè)精靈中每個(gè)插件都是一個(gè)dll文件,都必須導(dǎo)出下面三個(gè)函數(shù):
GetPlugInHTML、GetPlugInName、GetPlugInDescription
它們的函數(shù)原型的pascal描述如下:
function GetPlugInHTML(AHandle: THandle;ASelectedText: PChar;
AResultHTHML: TResultHTML): Boolean;stdcall;
procedure GetPlugInName(AValue: PChar);stdcall;
procedure GetPlugInDescription(AValue: PChar);stdcall;
c描述為
bool GetPlugInHTML(AHandle: HWND;ASelectedText: Char*;
AResultHTHML: TResultHTML);
void GetPlugInName(char* AValue);
void GetPlugInDescription(char* AValue);
其中 TResultHTML的pascal定義如下
TResultHTML = record
ReplaceHTML: PChar; //替換文字
BodyHTML: PChar;//添加到區(qū)的文字
BodyTagHTML: PChar;//添加到中的文字,如
HeadHTML: PChar;//添加到區(qū)中的文字
end;
TResultHTML的c定義如下:
struct TResultHTML
{
char* ReplaceHTML;
char* BodyHTML;
char* BodyTagHTML;
char* HeadHTML;
};
1、導(dǎo)出函數(shù)描述
①function GetPlugInHTML(AHandle: THandle;ASelectedText: PChar;
AResultHTHML: TResultHTML): Boolean;stdcall;
在用戶點(diǎn)擊插件對(duì)應(yīng)的菜單時(shí),主程序?qū)⒄{(diào)用此方法來得到插件返回的對(duì)網(wǎng)頁(yè)的修改信息。
其中AHandle對(duì)應(yīng)主窗口,也就是網(wǎng)頁(yè)精靈的窗體句柄;
ASelectedText代表用戶此時(shí)在網(wǎng)頁(yè)編輯器中選中的文本;AResultHTHML是返回值,將用ReplaceHTML將替換用戶選擇的文本,將把BodyHTML添加到網(wǎng)頁(yè)的區(qū),將把BodyTagHTML添加到中,如在未調(diào)用插件的時(shí)候,在調(diào)用后bodyTagHTML=‘onload="show()"’則調(diào)用后,將HeadHTML添加到區(qū);
返回值代表此插件的運(yùn)行是否成功。如果返回False,則主程序會(huì)忽略插件對(duì)網(wǎng)頁(yè)的修改信息。
②procedure GetPlugInName(AValue: PChar);stdcall;返回值是AValue,它將做為菜單的標(biāo)題,代表插件的名稱。
③void GetPlugInDescription(char* AValue);返回值是AValue,它將做為此插件的功能描述。
注:ReplaceHTML BodyHTML BodyTagHTML HeadHTML最大長(zhǎng)度為10000,GetPlugInName及GetPlugInDescription的返回值的最大長(zhǎng)度為256
2、插件開發(fā)完畢后拷貝到網(wǎng)頁(yè)精靈的安裝目錄的PlugIns目錄下即可。
3、在Delphi中開發(fā)網(wǎng)頁(yè)精靈插件的經(jīng)驗(yàn)之談:
①在用delphi中進(jìn)行插件開發(fā)時(shí),有時(shí)候要在程序中使用很長(zhǎng)的字符串來拼接產(chǎn)生html文檔,可以使用字符串常量、資源文件、單獨(dú)的txt文件等形式存儲(chǔ)這些字符串,但是缺點(diǎn)都比較多。作者開發(fā)了一個(gè)控件TBigStringContainer(在Docs目錄下),在設(shè)計(jì)時(shí)可以點(diǎn)擊strings屬性,在彈出的文本編輯器中輸入像存儲(chǔ)的字符串,在程序中調(diào)用GetString方法就可以得到存儲(chǔ)的這些字符串
②軟件提供了為用戶選中的文本添加超鏈接的HyperLink插件和添加3D旋轉(zhuǎn)文字的Roate3DText插件源代碼。用Delphi開發(fā),可以供您參考。