国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
在RichTextBox控件加入圖片
在RichTextBox控件加入圖片

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;

  // Ensures that the metafile maintains a 1:1 aspect ratio
  private const int MM_ISOTROPIC = 7;

  // Allows the x-coordinates and y-coordinates of the metafile to be adjusted
  // independently
  private const int MM_ANISOTROPIC = 8;

  // Represents an unknown font family
  private const string FF_UNKNOWN = "UNKNOWN";

  // The number of hundredths of millimeters (0.01 mm) in an inch
  // For more information, see GetImagePrefix() method.
  private const int HMM_PER_INCH = 2540;

  // The number of twips in an inch
  // For more information, see GetImagePrefix() method.
  private const int TWIPS_PER_INCH = 1440;

  #endregion

  #region My Privates

  // The default text color
  private RtfColor textColor;

  // The default text background color
  private RtfColor highlightColor;

  // Dictionary that maps color enums to RTF color codes
  private HybridDictionary rtfColor;

  // Dictionary that mapas Framework font families to RTF font families
  private HybridDictionary rtfFontFamily;

  // The horizontal resolution at which the control is being displayed
  private float xDpi;

  // The vertical resolution at which the control is being displayed
  private float yDpi;

  #endregion

  #region Elements required to create an RTF document
  
  /* RTF HEADER
   * ----------
   *
   * \rtf[N]  - For text to be considered to be RTF, it must be enclosed in this tag.
   *      rtf1 is used because the RichTextBox conforms to RTF Specification
   *      version 1.
   * \ansi  - The character set.
   * \ansicpg[N] - Specifies that unicode characters might be embedded. ansicpg1252
   *      is the default used by Windows.
   * \deff[N]  - The default font. \deff0 means the default font is the first font
   *      found.
   * \deflang[N] - The default language. \deflang1033 specifies US English.
   * */
  private const string RTF_HEADER = @"{\rtf1\ansi\ansicpg1252\deff0\deflang1033";

  /* RTF DOCUMENT AREA
   * -----------------
   *
   * \viewkind[N] - The type of view or zoom level.  \viewkind4 specifies normal view.
   * \uc[N]  - The number of bytes corresponding to a Unicode character.
   * \pard  - Resets to default paragraph properties
   * \cf[N]  - Foreground color.  \cf1 refers to the color at index 1 in
   *      the color table
   * \f[N]  - Font number. \f0 refers to the font at index 0 in the font
   *      table.
   * \fs[N]  - Font size in half-points.
   * */
  private const string RTF_DOCUMENT_PRE = @"\viewkind4\uc1\pard\cf1\f0\fs20";
  private const string RTF_DOCUMENT_POST = @"\cf0\fs17}";
  private string RTF_IMAGE_POST = @"}";

  #endregion

  #region Accessors

  // TODO: This can be ommitted along with RemoveBadCharacters
  // Overrides the default implementation of RTF.  This is done be
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java并發(fā)編程之并發(fā)代碼設(shè)計
RichTextBox實現(xiàn)關(guān)鍵字自定義顏色顯示(C#)
C# 插件構(gòu)架實戰(zhàn)(Jack H Hansen )
C#Threading.Suspend在過時,線程已被棄用?
const和static readonly區(qū)別
rtf
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服