郭建栋ID:gjd111686
156121次访问,排名446好友0人,关注者1
gjd111686的文章
原创 191 篇
翻译 0 篇
转载 0 篇
评论 69 篇
数字金刚的公告
数字金刚

日本人与台独分子禁止入内


郭煜,字建栋.别号冷冰、数字金刚. 赵国人.并州太原府代州[今山西省五台山北台顶]. 乙亥年甲申闯关东至盛京[今辽宁省沈阳]已九载.
最近评论
vvukqr:WoW Gold
komelio:很niuB的代码
mrli12:和我想法一样,通用!!~ :-)
不过这么写实在繁琐,要进一步改进,最好能将bean直接引入,通过接口,最好是设计成用xml文件映射的,这样输入什么对象,出什么图形在里面都定义好了,直接就出来了,哪位高手有时间研究研究!?
独侠:import org.jfree.data.xy.SignalsDataset
好像JAR里面没有这个类,运行出错
binbin:可否请教一下,pdflib是怎样生成表格的?no.credit@gmail.com
文章分类
收藏
    相册
    帮助资源
    个人素描
    杀手锏
    资源图片
    铁血民族
    民族魂:网上人民英雄纪念碑(RSS)
    推荐经典
    CodeGuru
    CodeProject
    VC知识库
    中国标准XML
    软件工程专家网
    问专家
    仪器仪表
    21IC中国电子网
    中华工控网
    中国自动化网
    仪器仪表商情网
    传感器世界
    自家小院
    挚友链接
    数字金刚
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 Textarea标签封装为Web在线编辑器收藏

    新一篇: Web上功能强大的DbGrid表格HTC组件[只需在Table中指定样式就可以完成多种功能可扩展] | 旧一篇: Web上日历选择的HTC封装组件

    Editor.htm

    <textarea style="behavior:url('Editor.htc');"></textarea>

    Editor.htc

    <public:attach event=oncontentready onevent=initEditor()>
    <script>
    //对象
    var vColorObject=null;
    var vFontObject=null;
    var vFontFamilyDiv=null;
    var vFontSizeDiv=null;
    var vFileObject=null;

    var vConsoleDiv=null;
    var vEditorDiv=null;

    //按钮提示文本
    var strButtonTitleArray=new Array("新建","打开","保存","剪切","复制","粘贴","取消","恢复","粗体","斜体","下划","表格","向左","居中","向右","编号","符号","缩进","缩出","字色","字号","字体","图像","链接","水平","打印","预览");
    //按钮静态文本
    var strButtonValueArray=new Array("新建","打开","保存","剪切","复制","粘贴","取消","恢复","粗体","斜体","下划","表格","向左","居中","向右","编号","符号","缩进","缩出","字色","字号","字体","图像","链接","水平","打印","预览");
    //按钮接口程序
    var strButtonDefineFunctionArray=new Array("defineNew()",
    "defineOpen()",
    "defineSave()",
    "defineCut()",
    "defineCopy()",
    "definePaste()",
    "defineUndo()",
    "defineRedo()",
    "defineBold()",
    "defineItalic()",
    "defineUnderLine()",
    "defineTable()",
    "defineJustifyLeft()",
    "defineJustifyCenter()",
    "defineJustifyRight()",
    "defineInsertOrderedList()",
    "defineInsertUnorderedList()",
    "defineOutdent()",
    "defineIndent()",
    "defineColor()",
    "defineFontSize()",
    "defineFontFamily()",
    "defineInsertImage()",
    "defineCreateLink()",
    "defineInsertHorizontalRule()",
    "definePrint()",
    "definePreview()");
    //按钮图标
    var strButtonDefineIconArray=new Array("","","","","","","","","","","","","","","","","","","","","","","","","","","");
    //按钮响应库
    function defineNew()
    {
     vEditorDiv.innerHTML="";
    }
    function defineOpen()
    {
     openFileDlg();
    }
    function defineSave()
    {
     element.value=vEditorDiv.innerHTML;
    }
    function defineCut()
    {
     vEditorDiv.focus();
     document.execCommand("Cut");
     vEditorDiv.focus();
    }
    function defineCopy()
    {
     vEditorDiv.focus();
     document.execCommand("Copy");
     vEditorDiv.focus();
    }
    function definePaste()
    {
     vEditorDiv.focus();
     document.execCommand("Paste");
     vEditorDiv.focus();
    }
    function defineUndo()
    {
     vEditorDiv.focus();
     document.execCommand("Undo");
     vEditorDiv.focus();
    }
    function defineRedo()
    {
     vEditorDiv.focus();
     document.execCommand("Redo");
     vEditorDiv.focus();
    }
    function defineBold()
    {
     vEditorDiv.focus();
     document.execCommand("Bold");
     vEditorDiv.focus();
    }
    function defineItalic()
    {
     vEditorDiv.focus();
     document.execCommand("Italic");
     vEditorDiv.focus();
    }
    function defineUnderLine()
    {
     vEditorDiv.focus();
     document.execCommand("UnderLine");
     vEditorDiv.focus();
    }
    function defineTable()
    {
     window.confirm("Table");
    }
    function defineJustifyLeft()
    {
     vEditorDiv.focus();
     document.execCommand("JustifyLeft");
     vEditorDiv.focus();
    }
    function defineJustifyCenter()
    {
     vEditorDiv.focus();
     document.execCommand("JustifyCenter");
     vEditorDiv.focus();
    }
    function defineJustifyRight()
    {
     vEditorDiv.focus();
     document.execCommand("JustifyRight");
     vEditorDiv.focus();
    }
    function defineInsertOrderedList()
    {
     vEditorDiv.focus();
     document.execCommand("InsertOrderedList");
     vEditorDiv.focus();
    }
    function defineInsertUnorderedList()
    {
     vEditorDiv.focus();
     document.execCommand("InsertUnorderedList");
     vEditorDiv.focus();
    }
    function defineOutdent()
    {
     vEditorDiv.focus();
     document.execCommand("Outdent");
     vEditorDiv.focus();
    }
    function defineIndent()
    {
     vEditorDiv.focus();
     document.execCommand("Indent");
     vEditorDiv.focus();
    }
    function defineColor()
    {
     chooseColor(); 
    }
    function defineFontSize()
    {
     chooseFontSize();
    }
    function defineFontFamily()
    {
     chooseFontFamily();
    }
    function defineInsertImage()
    {
     vEditorDiv.focus();
     document.execCommand("InsertImage");
     vEditorDiv.focus();
    }
    function defineCreateLink()
    {
     vEditorDiv.focus();
     document.execCommand("CreateLink");
     vEditorDiv.focus();
    }
    function defineInsertHorizontalRule()
    {
     vEditorDiv.focus();
     document.execCommand("InsertHorizontalRule");
     vEditorDiv.focus();
    }
    function definePrint()
    {
     vEditorDiv.focus();
     document.execCommand("Print");
     vEditorDiv.focus();
    }
    function definePreview()
    {
     window.confirm("Preview");
    }
    //辅助函数
    //颜色滴管
    function chooseColor()
    {
     var strReturnColor=vColorObject.ChooseColorDlg("FFFFFF");
     strReturnColor=strReturnColor.toString(16);
     if(strReturnColor.length<6)
     {
        var strTempString="000000".substring(0,6-strReturnColor.length);
        strReturnColor=strTempString.concat(strReturnColor);
     }
     vEditorDiv.focus();
     document.execCommand("ForeColor",false,strReturnColor);
     vEditorDiv.focus();
    }
    function chooseFontSize()
    {
     var vObject=window.event.srcElement;
     vFontSizeDiv.style.display="";
     vFontSizeDiv.style.left=getElementDefineLeft(vObject);
     vFontSizeDiv.style.top=getElementDefineTop(vObject)+vObject.offsetHeight;
     element.document.attachEvent('onmousedown',onDocumentMouseDown);
    }
    function chooseFontFamily()
    {
     var vObject=window.event.srcElement;
     vFontFamilyDiv.style.display="";
     vFontFamilyDiv.style.left=getElementDefineLeft(vObject);
     vFontFamilyDiv.style.top=getElementDefineTop(vObject)+vObject.offsetHeight;
     element.document.attachEvent('onmousedown',onDocumentMouseDown);
    }
    //打开文件
    function openFileDlg()
    {
     try
     {
      vFileObject.CancelError=true;
      vFileObject.ShowOpen();
      return vFileObject.filename;
     }
     catch(e)
     {
      return e;
     }
    }
    function onFontFamilyChange()
    {
     var vObject=window.event.srcElement;
     var strReturnFontFamily=vObject.options[vObject.selectedIndex].text;
     vEditorDiv.focus();
     document.execCommand("FontName",false,strReturnFontFamily);
     vEditorDiv.focus();
     vFontFamilyDiv.style.display="none";
     element.document.detachEvent("onmousedown",onDocumentMouseDown);
    }
    function onFontSizeChange()
    {
     var vObject=window.event.srcElement;
     var strReturnFontSize=vObject.options[vObject.selectedIndex].text;
     vEditorDiv.focus();
     document.execCommand("FontSize",false,strReturnFontSize);
     vEditorDiv.focus();
     vFontSizeDiv.style.display="none";
     element.document.detachEvent("onmousedown",onDocumentMouseDown);
    }
    function onDocumentMouseDown()
    {
     if(vFontFamilyDiv.contains(event.srcElement))
     {
      return;
     }
     if(vFontSizeDiv.contains(event.srcElement))
     {
      return;
     }
     vFontSizeDiv.style.display="none";
     vFontFamilyDiv.style.display="none";
     element.document.detachEvent("onmousedown",onDocumentMouseDown);
    }
    //初始化函数
    function initEditor()
    {
     element.style.display="none";
     vConsoleDiv=document.createElement("div");
     vConsoleDiv.style.border="1px solid #000000";
     vConsoleDiv.style.borderBottom="0px solid #000000";
     vConsoleDiv.style.position="absolute";
     vConsoleDiv.style.width="100%";
     vConsoleDiv.style.left=getElementDefineLeft(element);
     vConsoleDiv.style.top=getElementDefineTop(element);
     window.document.body.insertAdjacentElement("afterbegin",vConsoleDiv);
     initConsole();

     vEditorDiv=document.createElement("div");
     vEditorDiv.style.border="1px solid #000000";
     vEditorDiv.style.position="absolute";
     vEditorDiv.style.width="100%";
     vEditorDiv.style.height="50%";
     vEditorDiv.contentEditable=true;
     vEditorDiv.style.left=getElementDefineLeft(element);
     vEditorDiv.style.top=getElementDefineTop(element)+vConsoleDiv.offsetHeight;
     window.document.body.insertAdjacentElement("afterbegin",vEditorDiv);

     vColorObject=document.createElement("object");
     vColorObject.classid="clsid:3050F819-98B5-11CF-BB82-00AA00BDCE0B";
     vColorObject.codeBase="";
     vColorObject.style.width=0;
     vColorObject.style.height=0;
     window.document.body.insertAdjacentElement("afterbegin",vColorObject);

     vFontObject=document.createElement("object");
     vFontObject.classid="clsid:3050F819-98B5-11CF-BB82-00AA00BDCE0B";
     vFontObject.codeBase="";
     vFontObject.style.width=0;
     vFontObject.style.height=0;
     window.document.body.insertAdjacentElement("afterbegin",vFontObject);
     //字体选择初始化
     vFontFamilyDiv=document.createElement("div");
     var vSelect=document.createElement("select");
     vSelect.style.border="1px solid #000000";
     vSelect.length=vFontObject.fonts.count;
     for(kIndex=1;kIndex<=vFontObject.fonts.count;kIndex++)
     {
      vOption=document.createElement("option");
      vOption.value=kIndex;
      vOption.text=vFontObject.fonts(kIndex);
      vSelect.add(vOption);
     }
     vSelect.attachEvent("onchange",onFontFamilyChange);
     vFontFamilyDiv.appendChild(vSelect);
     window.document.body.insertAdjacentElement("afterbegin",vFontFamilyDiv);
     vFontFamilyDiv.style.display="none";
     vFontFamilyDiv.style.position="absolute";
     //字号选择初始化
     vFontSizeDiv=document.createElement("div");
     var vSelect=document.createElement("select");
     vSelect.style.border="1px solid #000000";
     for(kIndex=1;kIndex<=7;kIndex++)
     {
      vOption=document.createElement("option");
      vOption.value=kIndex;
      vOption.text=kIndex;
      vSelect.add(vOption);
     }
     vSelect.attachEvent("onchange",onFontSizeChange);
     vFontSizeDiv.appendChild(vSelect);
     window.document.body.insertAdjacentElement("afterbegin",vFontSizeDiv);
     vFontSizeDiv.style.display="none";
     vFontSizeDiv.style.position="absolute";
     //
     vFileObject=document.createElement("object");
     vFileObject.classid="clsid:F9043C85-F6F2-101A-A3C9-08002B2F49FB";
     vFileObject.codeBase="http://activex.microsoft.com/controls/vb5/comdlg32.cab";
     vFileObject.style.width=0;
     vFileObject.style.height=0;
     window.document.body.insertAdjacentElement("afterbegin",vFileObject);
    }
    //初始化控制按钮面板
    function initConsole()
    {
     var vTable=document.createElement("table");
     vTable.style.backgroundColor="buttonface";
     vTable.style.borderTop="1px solid buttonhighlight";
     vTable.style.borderLeft="1px solid buttonhighlight";
     vTable.style.borderBottom="1px solid buttonshadow";
     vTable.style.borderRight="1px solid buttonshadow";
     vTable.style.width="100%";
     //vTable.style.filter="Alpha(Opacity=60)";//半透明效果.
     
     var vTr=vTable.insertRow(0);
     var vTd=vTr.insertCell(0);
     /*
     vTd.style.backgroundColor="buttonface";
     vTd.style.borderTop="1px solid buttonhighlight";
     vTd.style.borderLeft="1px solid buttonhighlight";
     vTd.style.borderBottom="1px solid buttonshadow";
     vTd.style.borderRight="1px solid buttonshadow";
     */
     for(kIndex=0;kIndex<strButtonTitleArray.length;kIndex++)
     {
      var vA=document.createElement("a");
      vA.style.border="1px solid buttonface";
      vA.style.textAlign="center";
      vA.style.cursor="default";
      vA.style.font="normal 9pt 宋体";
      vA.id=kIndex;
      vA.innerHTML=strButtonValueArray[kIndex];
      vA.title=strButtonTitleArray[kIndex];
      vTd.appendChild(vA);
      vA.attachEvent("onmousedown",onButtonMouseDown);
      vA.attachEvent("onmouseout",onButtonMouseOut);
      vA.attachEvent("onmouseover",onButtonMouseOver);
      vA.attachEvent("onmouseup",onButtonMouseUp);
      vA.attachEvent("onclick",onButtonClick);
     }

     vConsoleDiv.appendChild(vTable);
    }
    //按钮响应事件
    function onButtonMouseDown()
    {
     var vObject=window.event.srcElement;
     vObject.style.borderTop="1px solid buttonshadow";
     vObject.style.borderLeft="1px solid buttonshadow";
     vObject.style.borderBottom="1px solid buttonhighlight";
     vObject.style.borderRight="1px solid buttonhighlight";
    }
    function onButtonMouseOut()
    {
     var vObject=window.event.srcElement;
     vObject.style.backgroundColor="";
     vObject.style.border="1px solid buttonface";
    }
    function onButtonMouseOver()
    {
     var vObject=window.event.srcElement;
     vObject.style.borderTop="1px solid buttonhighlight";
     vObject.style.borderLeft="1px solid buttonhighlight";
     vObject.style.borderBottom="1px solid buttonshadow";
     vObject.style.borderRight="1px solid buttonshadow";
    }
    function onButtonMouseUp()
    {
     var vObject=window.event.srcElement;
     vObject.style.borderTop="1px solid buttonhighlight";
     vObject.style.borderLeft="1px solid buttonhighlight";
     vObject.style.borderBottom="1px solid buttonshadow";
     vObject.style.borderRight="1px solid buttonshadow";
    }
    function onButtonClick()
    {
     var vObject=window.event.srcElement;
     eval(strButtonDefineFunctionArray[vObject.id]);
    }
    //函数库
    //取元素绝对位置Left
    function getElementDefineLeft(vObject)
    {
     var iElementLeft=vObject.offsetLeft;
     while(vObject=vObject.offsetParent)
     {
      iElementLeft+=vObject.offsetLeft;
     }
     return iElementLeft;
    }
    //取元素绝对位置Top
    function getElementDefineTop(vObject)
    {
     var iElementTop=vObject.offsetTop;
     while(vObject=vObject.offsetParent)
     {
         iElementTop+=vObject.offsetTop;
     }
     return iElementTop;
    }
    </script>
    </public:attach>

    发表于 @ 2004年12月02日 12:02:00|评论(loading...)|编辑

    评论

    #数字金刚 发表于2004-12-03 09:39:00  IP: 202.96.80.*
    HTC使用了ActiveX[需要将浏览器的本地安全降低级别]
    #丰丰 发表于2004-12-03 09:58:00  IP: 218.19.218.*
    是设置浏览器选项中的安全吗?
    我已经将里面设置最低了 还是同样错误。
    另外
    假如是要设置安全级别才能使用 那么如果客户端没有设置的话 用不了 是否变成很局限呢 还是理解错误? thanks
    #数字金刚 发表于2004-12-03 11:53:00  IP: 202.96.80.*
    主要是涉及打开文件对话框及字体列表和颜色对话框,你可以打开HTC文件屏蔽创建的Object标签对象.
    #丰丰 发表于2004-12-03 09:12:00  IP: 218.19.218.*
    谢谢你提供这么好的资料。不过小生刚初到,使用你提供的代码时,说有错误:

    行: 345

    字符: 2

    错误: 由于没有得到正确授权,因此无法创建该控件。

    代码: 0

    URL: file://C:\Editor.htc


    请问怎样解决呢? 万分感谢
    #redmoon 发表于2005-01-05 12:09:00  IP: 218.2.12.*
    redmoon webedit 在线编辑控件可以配合JScript实现的在线编辑器一起使用,实现图片及flash同步上传,采用标准的MULTIPART/FORM-DATA方式,服务器无论是什么实现方式均可以接收文件,详请见 www.redmoon.net.cn
    #111 发表于2005-04-29 12:51:00  IP: 210.21.197.*
    zsdfzsdfsdfs
    xcfbszcdvbzd
    zcvzc
    xvsbvx
    #komelio 发表于2007-10-26 15:26:17  IP: 121.33.206.*
    很niuB的代码
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 数字金刚