/// <summary> /// コンストラクタ /// </summary> public EmojiTextBox() { this.InitializeComponent(); this.SetStyle( ControlStyles.DoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true); // // イベントハンドラを設定する // this.MouseDown += TextBox_MouseDown; // コンテキストメニューを設定する { ContextMenuStrip contextMenuStrip = new ContextMenuStrip(); { ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem("切り取り(&T)", null, this.ToolStripMenuItem_Click, "Cut"); contextMenuStrip.Items.Add(toolStripMenuItem); } { ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem("コピー(&C)", null, this.ToolStripMenuItem_Click, "Copy"); contextMenuStrip.Items.Add(toolStripMenuItem); } { ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem("貼り付け(&P)", null, this.ToolStripMenuItem_Click, "Paste"); contextMenuStrip.Items.Add(toolStripMenuItem); } { ToolStripMenuItem toolStripMenuItem = new ToolStripMenuItem("削除(&D)", null, this.ToolStripMenuItem_Click, "Delete"); contextMenuStrip.Items.Add(toolStripMenuItem); } contextMenuStrip.Opening += ContextMenuStrip_Opening; this.ContextMenuStrip = contextMenuStrip; } this.TextChanged += this.TextBox_TextChanged; // // 文字列選択時にイメージを反転させるための属性を作成する // { ColorMatrix cm = new ColorMatrix(); cm.Matrix00 = -1; cm.Matrix11 = -1; cm.Matrix22 = -1; cm.Matrix33 = 1; cm.Matrix40 = 1; cm.Matrix41 = 1; cm.Matrix42 = 1; cm.Matrix44 = 1; this.negativeImageAttributes = new ImageAttributes(); negativeImageAttributes.SetColorMatrix(cm); } // EditWordBreakProc を呼び出すためのデリゲート this.editWordBreakProcDelegate = new EditWordBreakProcDelegate(this.EditWordBreakProc); // 背景色(ブラシ) this.backColorBrush = new SolidBrush(this.BackColor); // 選択された文字の前景色 this.selectionCharForeColor = GetSystemColor(COLOR_HIGHLIGHTTEXT); // 選択された文字の背景色 this.selectionCharBackColor = GetSystemColor(COLOR_HIGHLIGHT); // 選択された文字の背景色(ブラシ) this.selectionCharBackBrush = new SolidBrush(this.selectionCharBackColor); // 描画に使用するフォント this.displayFont = new Font(Commons.CONTENTS_FONT_NAME, Commons.CONTENTS_FONT_SIZE); }
private static extern int SendMessage(IntPtr hWnd, int msg, int wParam, EditWordBreakProcDelegate lParam);