TC官方合作论坛

 找回密码
 立即注册
查看: 505|回复: 10
打印 上一主题 下一主题

[已解决] TC能调用GetCaretPos 吗?可以的话怎么写?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-12-1 20:42:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
GetCaretPos

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

DLLCALL不会写参数。

回复

使用道具 举报

6#
发表于 2014-12-4 08:39: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);
复制代码
回复 支持 反对

使用道具 举报

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

呃我不知道point类型的指针用什么api能得到
回复 支持 反对

使用道具 举报

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

呃我不知道point类型的指针用什么api能得到
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2014-12-4 13:04:35 | 只看该作者
q273814 发表于 2014-12-4 12:53
你不是说是Direct画的么

是的,我新手,也是一知半解,代码也看不懂,不过还是谢谢您,
现在我想知道TC能不能用GetCaretPos
回复 支持 反对

使用道具 举报

8#
发表于 2014-12-4 12:53:17 | 只看该作者
madwinder 发表于 2014-12-4 12:47
GetCaretPos
这个函数,TC能调用吗?是不是不支持超过32位的?

你不是说是Direct画的么
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2014-12-4 12:47:25 | 只看该作者
q273814 发表于 2014-12-4 08:39
用DX自绘Edit控件往往没有真是的EDIT窗口存在

计算当前光标的位置


GetCaretPos
这个函数,TC能调用吗?是不是不支持超过32位的?
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-12-2 17:20:32 | 只看该作者
rainshine 发表于 2014-12-1 22:31
编辑框操作啊- -有开源库的哇 好像有这功能的哇 http://rblog.cc/?s=%E7%BC%96%E8%BE%91%E6%A1%86 ...

我要操作的编辑框是没有句柄的哦。用DRIECT画的。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2014-12-2 16:42:19 | 只看该作者
rainshine 发表于 2014-12-1 22:31
编辑框操作啊- -有开源库的哇 好像有这功能的哇 http://rblog.cc/?s=%E7%BC%96%E8%BE%91%E6%A1%86 ...

密码是多少?但是我还是想知道DLLCALL的写法,自己学会捕鱼好一点。
回复 支持 反对

使用道具 举报

板凳
发表于 2014-12-1 23:19:55 | 只看该作者
学习学习,谢谢
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-24 06:16 , Processed in 0.137393 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表