自定义文本编辑控件中的光标

        [DllImport("user32.dll")]
        static extern bool CreateCaret(IntPtr hWnd, IntPtr hBitmap, int nWidth, int nHeight);
        [DllImport("user32.dll")]
        static extern bool ShowCaret(IntPtr hWnd);
        [DllImport("User32.dll")]
        static extern bool HideCaret(IntPtr hWnd);
        [DllImport("User32.dll")]
        static extern bool SetCaretPos(int x, int y);
        [DllImport("user32.dll")]
        static extern bool DestroyCaret();

        private void MyUserControl_Leave(object sender, EventArgs e)
        {
            //隐藏
            HideCaret(this.Handle);
            DestroyCaret();
        }

        private void MyUserControl_Enter(object sender, EventArgs e)
        {
            //创建
            CreateCaret(this.Handle, IntPtr.Zero, 1, 15);
            ShowCaret(this.Handle);
        }

posted @ 2009-09-05 18:02  WandererNet  阅读(280)  评论(0编辑  收藏  举报