怎样判断文本框内光标在已有字符的位置,winform

解决方案 »

  1.   

    //通过API完成很简单的
    //通过向文本框传递EM_LINEFROMCHAR消息可以得到光标所在的行数
    Row=SendMessage(TextBox的Handle,EM_LINEFROMCHAR, -1, 0)+1;//通过向文本框传递EM_GETSEL消息可以得到编辑控件中一段选定内容的起点与终点字符的个数
    int s = (int)SendMessage(TextBox的Handle, EM_GETSEL, 0, 0);
    //通过向文本框传递EM_GETSEL消息可以得到每一行的第一个字符在全文中的字符序号
    int li = (int)SendMessage(TextBox的Handle,EM_LINEINDEX, -1, 0);
    int c = ai - li;
    Col=(s & 0xffff)-li+1;
    //各个消息的值
    EM_LINEINDEX = 0xBB;
    EM_LINEFROMCHAR = 0xC9;
    EM_GETSEL = 0xB0;