Re: Custom Button using the Selected Text

  •  08-20-2009, 12:15 AM

    Re: Custom Button using the Selected Text

    Hi Lozzi,
     
    Try this example
     
    1. <%@ Page Language="C#" Debug="true" %>   
    2.   
    3. <%@ Register Assembly="CuteEditor" Namespace="CuteEditor" TagPrefix="CE" %>   
    4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
    5. <html xmlns="http://www.w3.org/1999/xhtml">   
    6. <head runat="server">   
    7.     <title>Untitled Page</title>   
    8. </head>   
    9.   
    10. <script runat="server">   
    11.     protected override void OnLoad(EventArgs e)   
    12.     {   
    13.         CuteEditor.ToolControl tc = Editor1.ToolControls["insertcustombutonhere"];   
    14.         if (tc != null)   
    15.         {   
    16.             HtmlButton button1 = new HtmlButton();   
    17.             button1.InnerText = "Custom";   
    18.             button1.Attributes["onclick"] = "handleSelect()";   
    19.             tc.Control.Controls.Add(button1);   
    20.         }   
    21.         base.OnLoad(e);   
    22.     }   
    23.   
    24.     
    25. </script>   
    26.   
    27. <body>   
    28.     <form id="form1" runat="server">   
    29.         <CE:Editor ID="Editor1" runat="server" TemplateItemList="[insertcustombutonhere]">   
    30.         </CE:Editor>   
    31.     </form>   
    32. </body>   
    33. </html>   
    34.   
    35. <script>   
    36. var editor1=document.getElementById('<%= Editor1.ClientID %>');   
    37. function handleSelect()   
    38. {   
    39. var sel = getSelectedHTML();   
    40. editor1.PasteHTML(sel+'handle select');   
    41. }   
    42.   
    43. function getSelectedHTML(){   
    44.       // get the active editor window   
    45.       var editwin = editor1.GetWindow();   
    46.       // get the active editor document   
    47.       var editdoc = editor1.GetDocument();   
    48.   
    49.       var rng=null,html="";    
    50.       if (document.selection && document.selection.createRange){   
    51.         rng=editdoc.selection.createRange();   
    52.         html=rng.htmlText||"";   
    53.       }else if (window.getSelection){   
    54.         rng=editwin.getSelection();   
    55.   
    56.         if (rng.rangeCount > 0 && window.XMLSerializer){   
    57.           rng=rng.getRangeAt(0);   
    58.           html=new XMLSerializer().serializeToString(rng.cloneContents());   
    59.         }   
    60.       }   
    61.       return html;   
    62.  }   
    63.   
    64. </script>  
    Regards,
     
    Ken
View Complete Thread