怎样知道文本光标相对屏幕的位置?

fuchao 2001-06-07 08:54:00
怎样知道文本光标相对屏幕的位置?
...全文
169 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
C_Sharp 2001-07-12
  • 打赏
  • 举报
回复
.
Kingron 2001-07-12
  • 打赏
  • 举报
回复
var
p:Tpoint;
begin
GetCaretPos(p);
P:=ClientToScreen(p);
showmessage(format('%d,%d',[p.x,p.y]));
end;
光明山人 2001-07-11
  • 打赏
  • 举报
回复
prometheusphinx(白日梦)说得对!
prometheusphinx 2001-07-11
  • 打赏
  • 举报
回复
GetCaretPos
seewell 2001-07-11
  • 打赏
  • 举报
回复
我也想知道
麻烦帮我提一下帖子
http://www.csdn.net/expert/topic/189/189913.shtm
c_hk 2001-06-07
  • 打赏
  • 举报
回复
大概就是楼上的意思
麻烦楼上的老兄贴上喽!
chenshirong 2001-06-07
  • 打赏
  • 举报
回复
Delphi提供的TMemo和TRichEdit两个控件也没有提供此功能。可以通过调用函数SendMessage向TMemo或TRichEdit控件的句柄发送EM_LINEFROMCHAR消息,获取当前光标所在行,发送
EM_LINEINDEX消息可以获取当前光标所在列。

在窗体上添加StatusBar1,并设定其中的Panels。在Memo1的onMouseDown和onKeyDown事件中加入以下代码:

procedure TForm1.Memo1MouseDown(....)
begin
StatusBar1.Panels.Items[0].Text=SendMessage(
Memo1.Handle,EM_LINEFROMCHAR ,-1,0)+1;
StatusBar1.Panels.Items[1].Text=Memo1.SelStart-SendMessage(
Memo1.Handle,EM_LINEINDEX,-1,0)+1;
end;
便会在状态栏中显示当前鼠标所在的行数和列数。
c_hk 2001-06-07
  • 打赏
  • 举报
回复
你可以参考“如何确定Memo中光标的当前行和列”(确实的标题我记不清了,大概如此),
以前有人在csdn讨论过,搜索一下吧
BigBen 2001-06-07
  • 打赏
  • 举报
回复
GetFocus()?
fuchao 2001-06-07
  • 打赏
  • 举报
回复
to c_hk
我想得到文本光标的位置,不是鼠标光标的位置。
bailee 2001-06-07
  • 打赏
  • 举报
回复
用 ClientToScreen
c_hk 2001-06-07
  • 打赏
  • 举报
回复
var
p:TPoint;
getcursorpos(p.x,p.y);
fuchao 2001-06-07
  • 打赏
  • 举报
回复
谢谢大家
我想得到文本光标相对于屏幕象素的位置

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧