C#中获取文本框中光标所在位置
2013-04-25 11:39
645 查看
private void ScrollPosition(object sender, EventArgs e)
{
Point p = GetCursorPos(this.txtDate.Handle.ToInt32());
panel1.AutoScrollPosition = new Point(p.X, p.Y);
}
const int EM_GETSEL = 0xB0;
const int EM_LINEFROMCHAR = 0xC9;
const int EM_LINEINDEX = 0xBB;
[DllImport("user32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(
int hwnd,
int wMsg,
int wParam,
ref int lParam
);
private Point GetCursorPos(int TextHwnd)
{
int i = 0, j = 0, k = 0;
int lParam = 0, wParam = 0;
i = SendMessage(TextHwnd, EM_GETSEL, wParam, ref lParam);
j = i / 65536;
int lineNo = SendMessage(TextHwnd, EM_LINEFROMCHAR, j, ref lParam) + 1;
k = SendMessage(TextHwnd, EM_LINEINDEX, -1, ref lParam);
int colNo = j - k + 1;
Point ret = new Point(lineNo, colNo);
return ret;
}
{
Point p = GetCursorPos(this.txtDate.Handle.ToInt32());
panel1.AutoScrollPosition = new Point(p.X, p.Y);
}
const int EM_GETSEL = 0xB0;
const int EM_LINEFROMCHAR = 0xC9;
const int EM_LINEINDEX = 0xBB;
[DllImport("user32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(
int hwnd,
int wMsg,
int wParam,
ref int lParam
);
private Point GetCursorPos(int TextHwnd)
{
int i = 0, j = 0, k = 0;
int lParam = 0, wParam = 0;
i = SendMessage(TextHwnd, EM_GETSEL, wParam, ref lParam);
j = i / 65536;
int lineNo = SendMessage(TextHwnd, EM_LINEFROMCHAR, j, ref lParam) + 1;
k = SendMessage(TextHwnd, EM_LINEINDEX, -1, ref lParam);
int colNo = j - k + 1;
Point ret = new Point(lineNo, colNo);
return ret;
}
相关文章推荐
- 在C#中获取文本框中光标所在位置
- C#中获取文本框中光标所在位置
- 在C#中获取文本框中光标所在位置
- C#动态获取当前屏幕中光标所在位置的颜色
- js 获取文本框中光标所在字符串索引位置
- c# 获取文本框(TextBox)中鼠标,光标位置
- c# 获取文本框(TextBox)中鼠标,光标位置
- [转] 动态获取当前屏幕中光标所在位置的颜色
- 获取文本框当前光标所在的行和列
- //获取文本框光标位置
- jquery 获取选中的文字.当前光标所在的位置等jquery-fieldselection 插件
- C#关于HttpClient的应用(一):获取IP所在的地理位置信息
- C# 在textbox里获取光标所在的行和列
- js获取光标位置和设置文本框光标位置示例代码
- js 如何获取文本框中光标索引位置
- JavaScript获取文本框光标的像素位置1
- IE 6 7 8获取文本框中光标的位置
- js获取文本框(或文本域)光标位置以及设置光标位置
- js获取和设置文本框光标的位置
- JavaScript获取文本框光标的像素位置2