怎样得到当前光标的位置!!(100分)

  • 主题发起人 主题发起人 Kendyyin
  • 开始时间 开始时间
K

Kendyyin

Unregistered / Unconfirmed
GUEST, unregistred user!
比如:DBGRID1的当前选中CELL的值为ABC,而光标在AB之间,我现在就要知道它的位置。
 
如果你要得知光标的位置可以捕获windows消息,在它的鼠标信息中可以
获得光标的位置,
但是你问题并不用知道光标的位置,dbgrid有个属性可以获得
其选中的cell的内容,你去查一下。
我先试一下!
 
是windows哪个消息??
 
你捕捉windows的wm_mousemove的消息,
还有我给你试了一下你可以用下面的方法来做,通过了,

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
showmessage(adodataset1.fieldbyname(column.FieldName).asstring)
end;
我给你解决了,你就快点给我分,我工作太忙,时间紧!ok!!
^_^^_^
 
还有
wm_mousemove:鼠标移动。
wm_lbuttondown:按下鼠标左键
 
用GETCARETPOS!

procedure Tform1.getpos;
var
mypoint:TPoint;
begin
getcaretpos(mypoint);
edit1.text:=inttostr(mypoint.x);
edit2.text:=inttostr(mypoint.y);

end;

procedure TForm1.DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
getpos;
end;
 
刚才的是获取CARET,也就是编辑框那条闪烁竖线的位置,我想你要的应该是这个吧?
另外还有SetCaretPos,设置caret位置.
如果要知道老鼠位置就,GetCursorPos,设置老鼠位置:SetCursorPos.
坐标转换:ClientToScreen,ScreenToClient;
 
楼主是那个意思??
》》比如:DBGRID1的当前选中CELL的值为ABC,而光标在AB之间,我现在就要知道它的位置。

qdgm988 大侠 和 雪鹰 大侠 的方法你选择那个?
[:D]
 
支持雪鹰的方法.
 
多谢:雪鹰,
 
后退
顶部