怎样获取输入焦点的光标位置!??
各位大虾好!!!小弟想问一下输入焦点的光标位置可以获取吗,就是TEdit的内的的输入光标,当输入一个字符后光标就向后移动一下,不知道这个光标的位置可否获得,小弟急需这个动作,若有知道的大虾请回复,跪谢了!!! 问题点数:50、回复次数:8Top
1 楼unsigned(僵哥(发站内消息,请附上链接或问题说明,否则不予回复))回复于 2005-02-26 02:45:26 得分 0
看看输入法相关API是否有。Top
2 楼caiso(十年磨一剑)回复于 2005-02-26 08:35:17 得分 0
顶一下Top
3 楼qsdnet(我想学编程)回复于 2005-02-26 18:27:15 得分 0
非常感谢楼上两位大虾的回复,找了一下,不知道是哪个,看得眼睛都木了,呜呜~~~还请知道的大虾回复,再次感谢!!!Top
4 楼Kshape(C/C++初学者~~~~)回复于 2005-02-26 20:58:21 得分 10
如果没有选择文本(字符),SelStart就指出了光标所处的位置。
edit1.selstart;
返回位置
上面应该就可以了,我不清楚楼主的具体意思
不过你可以试试
Top
5 楼zswang(伴水清清)(专家门诊清洁工)回复于 2005-02-26 21:57:39 得分 30
//SelStart得到字符位置
//GetCaretPos得到光标的象素位置
procedure TForm1.SpeedButton1Click(Sender: TObject);
var
vPoint: TPoint;
begin
GetCaretPos(vPoint);
Caption := Format('%d,%d', [vPoint.X, vPoint.Y]);
if not (ActiveControl is TEdit) then Exit;
Label1.Caption := '^';
Label1.Left := ActiveControl.Left + vPoint.X;
Label1.Top := ActiveControl.Top + ActiveControl.Height + vPoint.Y;
end;Top
6 楼liumazi(刘麻子)回复于 2005-02-26 22:54:30 得分 10
http://www.2ccc.com/article.asp?articleid=1794Top
7 楼qsdnet(我想学编程)回复于 2005-02-27 00:58:42 得分 0
非常感谢楼上“Kshape([伟大的大伟!])”和“liumazi(刘麻子)”两位大虾的回复,小弟巳测试得到了正解,关键原来在GetCaretPos上。可能小弟没有说清楚,让大虾们误解了,小弟主要是想实现当在Edit内输入字符时Edit自动调动整宽度,宽度为输入的字符串长度+15,小弟要的动作用GetCaretPos可以实现,真的是太感谢liumazi大虾了!!!同时也感谢Kshape大虾,非常感谢您的热心帮助。
顺便想再说一下,小弟的TListViewEx子项可编缉动作也差不多做成,代码做得很烂,若大家有时间还请多多PP哈~~~近期在找地方上传ing!!!Top
8 楼whbo(王红波(年轻人,要有所作为))回复于 2005-02-27 02:09:19 得分 0
upTop




