比較複雜的需求,用戶端如果用RichTextEditor的RTF格式,可以實作高亮,但是轉到網上顯示的時候又需要做很多轉化。是以我考慮整個文本都采用HTML格式進行流轉。也就是使用DHTML 編輯器。但是這個編輯器既要網上可以用,也要用戶端可以用。是以我考慮采用M$的DHTML Editor,查閱了相關資料後,發現代碼非常的簡單。我下面就以給文字加粗為例子說明各個操作。
用戶端:VB開發
1 在Component裡面選中DHTML Edit Control for IE 5
2 在Form上添加一個DHTML Edit的控件和兩個按鈕
3 VB代碼
Private Sub Command1_Click()
DHTMLEdit1.ExecCommand DECMD_BOLD, OLECMDEXECOPT_DONTPROMPTUSER
End Sub
Private Sub Command2_Click()
Dim theHTML1 As String
theHTML1 = "The test paragraph"
DHTMLEdit1.DocumentHTML = theHTML1
End Sub
網上執行個體:
<SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--
DECMD_BOLD = 5000;
OLECMDEXECOPT_DODEFAULT = 0;
function button1_onclick() {
DHTMLEdit1.ExecCommand(DECMD_BOLD,OLECMDEXECOPT_DODEFAULT);
}
function button2_onclick() {
DHTMLEdit1.DocumentHTML = "The test paragraph";
//DHTMLEdit1.DocumentHTML = "<P align=center><FONT size=7><STRONG>Hello, World!</STRONG></FONT></P>";
}
// -->
</SCRIPT>
<P align=center>
<INPUT id=button1 name=button1 type=button value=Bold LANGUAGE=javascript οnclick="return button1_onclick()">
<INPUT id=button2 name=button2 type=button value=Set LANGUAGE=javascript οnclick="return button2_onclick()">
</P>
<P align=center>
<OBJECT classid="clsid:2D360200-FFF5-11d1-8D03-00A0C959BC0A" id=DHTMLEdit1
height=400 width=500 VIEWASTEXT>
</OBJECT>
</P>
這裡使用的是ActiveX控件,雖然感覺上沒有純JS的編輯器好,但是代碼非常簡單。值得的。