public override bool InsertText(string aText)
        {
            if (FActiveArea != ExpressArea.ceaNone)
            {
                if (FActiveArea == ExpressArea.ceaTop)
                {
                    FTopText = FTopText.Insert(FCaretOffset, aText);
                }
                else
                if (FActiveArea == ExpressArea.ceaBottom)
                {
                    FBottomText = FBottomText.Insert(FCaretOffset, aText);
                }

                FCaretOffset += (short)aText.Length;
                this.FormatDirty();
                return(true);
            }
            else
            {
                return(false);
            }
        }
        public override bool InsertText(string AText)
        {
            if (FActiveArea != ExpressArea.ceaNone)
            {
                if (FActiveArea == ExpressArea.ceaTop)
                {
                    FTopText = FTopText.Insert(FCaretOffset, AText);
                }
                else
                if (FActiveArea == ExpressArea.ceaBottom)
                {
                    FBottomText = FBottomText.Insert(FCaretOffset, AText);
                }

                FCaretOffset += (short)AText.Length;

                this.SizeChanged = true;
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #3
0
        public override void GetCaretInfo(ref HCCaretInfo aCaretInfo)
        {
            if ((FActiveArea != ExpressArea.ceaNone) && (FCaretOffset >= 0))
            {
                OwnerData.Style.ApplyTempStyle(TextStyleNo);
                if (FActiveArea == ExpressArea.ceaTop)
                {
                    if (FCaretOffset < 0)
                    {
                        FCaretOffset = 0;
                    }

                    aCaretInfo.Height = FTopRect.Bottom - FTopRect.Top;
                    aCaretInfo.X      = FTopRect.Left + OwnerData.Style.TempCanvas.TextWidth(FTopText.Substring(0, FCaretOffset));
                    aCaretInfo.Y      = FTopRect.Top;
                }
                else
                if (FActiveArea == ExpressArea.ceaBottom)
                {
                    if (FCaretOffset < 0)
                    {
                        FCaretOffset = 0;
                    }

                    aCaretInfo.Height = FBottomRect.Bottom - FBottomRect.Top;
                    aCaretInfo.X      = FBottomRect.Left + OwnerData.Style.TempCanvas.TextWidth(FBottomText.Substring(0, FCaretOffset));
                    aCaretInfo.Y      = FBottomRect.Top;
                }
            }
            else
            {
                aCaretInfo.Visible = false;
            }
        }
Beispiel #4
0
        public override void KeyDown(KeyEventArgs e)
        {
            switch (e.KeyValue)
            {
            case User.VK_BACK:
                if (FActiveArea == ExpressArea.ceaTop)
                {
                    if (FCaretOffset > 0)
                    {
                        FTopText = FTopText.Remove(FCaretOffset - 1, 1);
                        FCaretOffset--;
                    }
                }
                else
                if (FActiveArea == ExpressArea.ceaBottom)
                {
                    if (FCaretOffset > 0)
                    {
                        FBottomText = FBottomText.Remove(FCaretOffset - 1, 1);
                        FCaretOffset--;
                    }
                }

                this.SizeChanged = true;
                break;

            case User.VK_LEFT:
                if (FCaretOffset > 0)
                {
                    FCaretOffset--;
                }
                break;

            case User.VK_RIGHT:
                string vS = "";
                if (FActiveArea == ExpressArea.ceaTop)
                {
                    vS = FTopText;
                }
                else
                if (FActiveArea == ExpressArea.ceaBottom)
                {
                    vS = FBottomText;
                }

                if (FCaretOffset < vS.Length)
                {
                    FCaretOffset++;
                }
                break;

            case User.VK_DELETE:
                if (FActiveArea == ExpressArea.ceaTop)
                {
                    if (FCaretOffset < FTopText.Length)
                    {
                        FTopText = FTopText.Remove(FCaretOffset, 1);
                    }
                }
                else
                if (FActiveArea == ExpressArea.ceaBottom)
                {
                    if (FCaretOffset < FBottomText.Length)
                    {
                        FBottomText = FBottomText.Remove(FCaretOffset, 1);
                    }
                }
                this.SizeChanged = true;

                break;

            case User.VK_HOME:
                FCaretOffset = 0;
                break;

            case User.VK_END:
                if (FActiveArea == ExpressArea.ceaTop)
                {
                    FCaretOffset = (short)FTopText.Length;
                }
                else
                if (FActiveArea == ExpressArea.ceaBottom)
                {
                    FCaretOffset = (short)FBottomText.Length;
                }

                break;
            }
        }