我想写一个记事本,但是不知道如何获得光标所在的位置,包括行和列,请各位大侠指点,谢谢。
解决方案 »
- help..me..
- 请问Hook中的KeyboardProc的参数用法!int nCode这个究竟怎么用?顺便帮我看看我的这个Hook函数怎么会提示两次?
- 关于EDIT多行显示问题
- 请问:如果使得SDI程序中的程序框架随着视图大小的变化而变化?????
- 那位高手会GetUserNameEx函数的用法啊?请教,我急啊!
- 请老王近来领分
- 怎么把一个界面的事件封装在一个COM里面。
- 在VC中如何将一个字符串(“20020404”)插入到数据库某表中的DateTime类型字段中去,该SQL语句如何来写
- 求救!频繁的使用位图处理函数会导致非法程序?详情请进.
- help me 有关控件的外观
- 怎样在基于对话框的基础上,通过按纽,调用打印预览?????急!!!!!
- 请教一个简单的算法
int cy=GetSystemMetrics(SM_CXCURSOR);
这是那个闪锁的光标,,
CPoint GetCaretPos();
上面两个的我都没看,因为返回CPoint,我觉得好像有点不对。
SendMessage(edit, EM_GETSEL, a, b);
int pos = SendMessage(edit, EM_POSFROMCHAR, b, 0);
int hang = pos >> 16;
int lie = pos & 0xffff;
Private Sub Timer1_Timer()
On Error GoTo errhandle
notepad = FindWindow("NotePad", vbNullString)
notepadedit = FindWindowEx(notepad, 0, "Edit", vbNullString)
Dim max As Long
SetWindowPos Form1.hwnd, -1, 0, 0, 0, 0, 3
Dim wParam As Long
Dim lParam As Long
SendMessage notepadedit, EM_GETSEL, wParam, lParam
Dim pos As Long
Dim X As Long
Dim Y As Long
pos = SendMessage(notepadedit, EM_POSFROMCHAR, lParam, 0)
If pos < 0 Then
pos = SendMessage(notepadedit, EM_POSFROMCHAR, vbGetWindowTextlength(notepadedit) - 1, 0)
End If
Dim r As RECT
Y = pos \ 65536
X = pos Mod 65536
GetWindowRect notepadedit, r
Me.Left = r.Left * 15 + X * 15 + 300
Me.Top = r.Top * 15 + Y * 15 + 300
Exit Sub
errhandle:
Err.Clear
End Sub