TC官方合作论坛

标题: TC能调用GetCaretPos 吗?可以的话怎么写? [打印本页]

作者: madwinder    时间: 2014-12-1 20:42
标题: TC能调用GetCaretPos 吗?可以的话怎么写?
GetCaretPos

VB声明
Declare Function GetCaretPos Lib "user32" Alias "GetCaretPos" (lpPoint As POINTAPI) As Long
说明
判断插入符的当前位置
返回值
Long,非零表示成功,零表示失败。

DLLCALL不会写参数。


作者: rainshine    时间: 2014-12-1 22:31
编辑框操作啊- -有开源库的哇 好像有这功能的哇 http://rblog.cc/?s=%E7%BC%96%E8%BE%91%E6%A1%86
作者: T星人    时间: 2014-12-1 23:19
学习学习,谢谢
作者: madwinder    时间: 2014-12-2 16:42
rainshine 发表于 2014-12-1 22:31
编辑框操作啊- -有开源库的哇 好像有这功能的哇 http://rblog.cc/?s=%E7%BC%96%E8%BE%91%E6%A1%86 ...

密码是多少?但是我还是想知道DLLCALL的写法,自己学会捕鱼好一点。
作者: madwinder    时间: 2014-12-2 17:20
rainshine 发表于 2014-12-1 22:31
编辑框操作啊- -有开源库的哇 好像有这功能的哇 http://rblog.cc/?s=%E7%BC%96%E8%BE%91%E6%A1%86 ...

我要操作的编辑框是没有句柄的哦。用DRIECT画的。
作者: q273814    时间: 2014-12-4 08:39
本帖最后由 q273814 于 2014-12-4 08:42 编辑
madwinder 发表于 2014-12-2 17:20
我要操作的编辑框是没有句柄的哦。用DRIECT画的。

用DX自绘Edit控件往往没有真是的EDIT窗口存在

计算当前光标的位置
用API ImmSetCompositionWindow指定IME 窗口到当前光标位置
在WM_KEYDOWN消息中处理

这里有一段C++代码 你看看有用没

  1. int nSelStart = 0, nSelEnd = 0;
  2. this->GetSel( nSelStart, nSelEnd );
  3. CPoint pntCursor = this->PosFromChar( nSelEnd );

  4. if ( pntCursor.x == -1)
  5. {
  6. nSelEnd -=1;
  7. if ( nSelEnd < 0 )
  8. {
  9. nSelEnd = 0;
  10. }
  11. pntCursor = this->PosFromChar( nSelEnd );
  12. }

  13. HIMC hImc = ImmGetContext(m_hWnd);
  14. COMPOSITIONFORM form;
  15. form.dwStyle = CFS_RECT;
  16. form.ptCurrentPos = CPoint(pntCursor.x,0);
  17. form.rcArea = CRect(pntCursor.x,0,pntCursor.x+300,100);
  18. ImmSetCompositionWindow(hImc,&form);
复制代码

作者: madwinder    时间: 2014-12-4 12:47
q273814 发表于 2014-12-4 08:39
用DX自绘Edit控件往往没有真是的EDIT窗口存在

计算当前光标的位置


GetCaretPos
这个函数,TC能调用吗?是不是不支持超过32位的?
作者: q273814    时间: 2014-12-4 12:53
madwinder 发表于 2014-12-4 12:47
GetCaretPos
这个函数,TC能调用吗?是不是不支持超过32位的?

你不是说是Direct画的么
作者: madwinder    时间: 2014-12-4 13:04
q273814 发表于 2014-12-4 12:53
你不是说是Direct画的么

是的,我新手,也是一知半解,代码也看不懂,不过还是谢谢您,
现在我想知道TC能不能用GetCaretPos
作者: q273814    时间: 2014-12-5 09:05
madwinder 发表于 2014-12-4 13:04
是的,我新手,也是一知半解,代码也看不懂,不过还是谢谢您,
现在我想知道TC能不能用GetCaretPos ...

呃我不知道point类型的指针用什么api能得到
作者: q273814    时间: 2014-12-5 09:05
madwinder 发表于 2014-12-4 13:04
是的,我新手,也是一知半解,代码也看不懂,不过还是谢谢您,
现在我想知道TC能不能用GetCaretPos ...

呃我不知道point类型的指针用什么api能得到




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1