其实只是用到clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b这个控件的一些属性和方法而已,对于此控件的任何疑问,请查询MSDN
<style>
body,span,button{font-size:9pt;font-family:'Courier New' 宋体}
input,textarea{border:1px solid #000}
select{font-size:9pt;font-family:'Courier New' 宋体;width:150;height:10;background:#db811c}
</style>
<!--上面是为美观而定义的CSS-->
<script>
var oInitColor = "db811c"file://定义调色板的默认颜色
var oBject='<OBJECT id=dlgHelper CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px"></OBJECT>'file://控件代码,字体和调色板都是它方法属性的一部分
function oFonts(){
if(!document.getElementById('dlgHelper'))document.body.insertAdjacentHTML("AfterEnd",oBject)file://如果
var oOptions="<select onchange='demo.style.fontFamily=this.options[this.selectedIndex].value'><option>共找到"+dlgHelper.fonts.count+"种字体"
for (i=1;i<dlgHelper.fonts.count;i++)file://循环输出字体
oOptions+="<option value='"+dlgHelper.fonts(i)+"'>"+dlgHelper.fonts(i)
oOptions+="</select>"
list.innerHTML=oOptions
}
function oCP(){
if(!document.getElementById('dlgHelper'))document.body.insertAdjacentHTML("BeforeEnd",oBject)
var oColor = dlgHelper.ChooseColorDlg(oInitColor).toString(16)file://弹出调色板
oColor=((oColor.length < 6)?"000000".substring(0,6-oColor.length):"")+oColorfile://按六位十六进制补齐返回颜色代码
demo.style.color="#"+oColorfile://设置字体颜色
oInitColor=oColorfile://对oInitColor重赋值,使打开调色板时的默认颜色为上次选中的颜色
}
</script>
font-size:<select style="width:40" onchange="demo.style.fontSize=this.options[this.selectedIndex].value+'pt'"><script>for(i=1;i<61;i++)document.write("<option value="+i+">"+i)</script></select>
font-family:<span id=list>'Courier New'</span>
<br><input type=button onclick=oFonts() value="Show SysFonts">
<input type=button onclick=oCP() value="Show ColorPanel">
<br><textarea style="width:100%;height:300" id=demo style="overflow:hidden;border:1px solid #999999">测试演示TestDemo</textarea>
脚本效果需要IE5.5+的支持