我使用DBgridEh的OnDrawColumnCell事件,在事件里面我有如下代码:
   
    POINT pt;
    pt.x=Rect.Left;
    pt.y=Rect.Top;
    ::ClientToScreen(DBGridEh1->Handle,&pt);
    Edit3->Text=IntToStr(pt.x);
    Edit4->Text=IntToStr(pt.y);

,那么在相同的cell里面我随便输入内容,并且多次回车(此时编辑的焦点依然是在同一个cell里面) 正常来说,Edit显示的坐标每次都是一样的,我单独建立一个工程放1个Dbgrideh上去,测试的时候很正常,但我现在用同样的方法在已做的项目里面的Dbgrideh的OnDrawColumnCell事件加入相同的代码,却发现在同一个cell里面不断的按回车(焦点依然保留在同一个cell里面),定位出来的坐标竟然是在2组不同的坐标之间不断的切换(其中一组当然是正确的),出现这样的情况,我就弄糊涂了,不知道问题出在哪里?

引用 1 楼 twicave 的回复:
屏幕刷新是整体刷新的.
也就是说,OnDrawColumnCell不仅仅是针对一个Cell刷新的.一个Cell内容发生变化,其他的Cell也会跟着刷新.
所以,估计是刷新的速度很快,只显示出了两组坐标.应该还有别的.

因为我这样做的目的是为了能够获得这个当前编辑的cell坐标,然后把鼠标移动过去,那你有什么好办法吗?

该回复于2008-08-03 13:19:11被版主删除