var
p:TPoint;
getcursorpos(p.x,p.y);
p:TPoint;
getcursorpos(p.x,p.y);
解决方案 »
- 保存数据时出现两个错误,请高手指点。
- “网络异步通讯中服务器端在部分机器上出现多发1包数据导致通讯速度变慢现象”求助?
- delphi 2006中安装component的问题
- 编写的dll中的procedure或function能否调用其他dll的function?
- [求助]如何快速的删除数组中的一个元素?
- ★我用sql语句删除adods_qdzm数据集中的记录,为何一直提示Dataset not in edit or insert mode.
- 有没有完全免费的条码打印控件
- 什么是软件测试?
- 搜索引擎问题(1)---程序调用引擎,搜索关键字
- 怎样使用自定义的光标???
- 让计算机开口说中文!!!!
- 抢分题目,有两个小问题,DBGrid是不是必须要通过post才能达到编辑数据的目的,有什么办法让它象VB那样直接在DBGrid里编辑数据库,还有我如何让我的Form有滚动条?
我想得到文本光标的位置,不是鼠标光标的位置。
以前有人在csdn讨论过,搜索一下吧
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;
便会在状态栏中显示当前鼠标所在的行数和列数。
麻烦帮我提一下帖子
http://www.csdn.net/expert/topic/189/189913.shtm
p:Tpoint;
begin
GetCaretPos(p);
P:=ClientToScreen(p);
showmessage(format('%d,%d',[p.x,p.y]));
end;