当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 在RichTextBox控件加入图片

ASP.NET
ASP.NET(C#)
ASP.NET入门数据篇
C#Web应用程序入门经典学习笔记之一
ASP.NET2.0 WebRource,开发微调按钮控件
介绍几个ASP.NET中容易忽略但却很重要的方法函数
ASP.Net2.0 GridView 多列排序,显示排序图标,分页
ASP.NET 2.0 中的创建母版页
asp,asp.net学习教程下载
ASP.Net生成一个简单的图片
FCKeditor.Net_2.2安全修正版
ASP.NET与数据库相关技巧
在asp.net下实现Option条目中填充前导空格的方法
在ASP.NET中用MSDNURLRewriting实现Url Rewriting
在ASP.NET中实现多文件上传的方法
Community Server专题二:体系结构
在ASP.NET中重写URL的代码
asp.net下大文件上传知识整理
ASP.NET中常用的三十三种代码
asp.net下实现支持文件分块多点异步上传的 Web Services
ASP.NET 2.0,C#----图像特效处理

ASP.NET 中的 在RichTextBox控件加入图片


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 111 ::
收藏到网摘: n/a

using System;
using System.Collections.Specialized;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;

namespace Khendys.Controls {

 #region Public Enums

 // Enum for possible RTF colors
 public enum RtfColor {
  Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver,
  Red, Lime, Yellow, Blue, Fuchsia, Aqua, White
 }

 #endregion


 public class ExRichTextBox : System.Windows.Forms.RichTextBox {

  #region My Enums

  // Specifies the flags/options for the unmanaged call to the GDI+ method
  // Metafile.EmfToWmfBits().
  private enum EmfToWmfBitsFlags {

   // Use the default conversion
   EmfToWmfBitsFlagsDefault = 0x00000000,

   // Embedded the source of the EMF metafiel within the resulting WMF
   // metafile
   EmfToWmfBitsFlagsEmbedEmf = 0x00000001,

   // Place a 22-byte header in the resulting WMF file.  The header is
   // required for the metafile to be considered placeable.
   EmfToWmfBitsFlagsIncludePlaceable = 0x00000002,

   // Don't simulate clipping by using the XOR operator.
   EmfToWmfBitsFlagsNoXORClip = 0x00000004
  };

  #endregion

  #region My Structs

  // Definitions for colors in an RTF document
  private struct RtfColorDef {
   public const string Black = @"\red0\green0\blue0";
   public const string Maroon = @"\red128\green0\blue0";
   public const string Green = @"\red0\green128\blue0";
   public const string Olive = @"\red128\green128\blue0";
   public const string Navy = @"\red0\green0\blue128";
   public const string Purple = @"\red128\green0\blue128";
   public const string Teal = @"\red0\green128\blue128";
   public const string Gray = @"\red128\green128\blue128";
   public const string Silver = @"\red192\green192\blue192";
   public const string Red = @"\red255\green0\blue0";
   public const string Lime = @"\red0\green255\blue0";
   public const string Yellow = @"\red255\green255\blue0";
   public const string Blue = @"\red0\green0\blue255";
   public const string Fuchsia = @"\red255\green0\blue255";
   public const string Aqua = @"\red0\green255\blue255";
   public const string White = @"\red255\green255\blue255";
  }

  // Control words for RTF font families
  private struct RtfFontFamilyDef {
   public const string Unknown = @"\fnil";
   public const string Roman = @"\froman";
   public const string Swiss = @"\fswiss";
   public const string Modern = @"\fmodern";
   public const string Script = @"\fscript";
   public const string Decor = @"\fdecor";
   public const string Technical = @"\ftech";
   public const string BiDirect = @"\fbidi";
  }

  #endregion

  #region My Constants

  // Not used in this application.  Descriptions can be found with documentation
  // of Windows GDI function SetMapMode
  private const int MM_TEXT = 1;
  private const int MM_LOMETRIC = 2;
  private const int MM_HIMETRIC = 3;
  private const int MM_LOENGLISH = 4;
  private const int MM_HIENGLISH = 5;
  private const int MM_TWIPS = 6;

  // Ensu