现在界面有一DBGridEH,里面有很多数据,
我现在通过鼠标移动,用MouseCoord,可以获得当前DBGridEH的行(x)与列(y),我想实现的功能是:
功能1、不用点击DBGridEH的行,可以通过x,y将焦点定位在现在鼠标移动的行上。
功能2、如果x=?或y=? 我可以直接对当前DBGridEH的[x,y]进行赋值。
上述功能1与2解决方法,最好不要与DataSet关联,能在DBGridEH本身的属性上实现最好,谢了。在线等待,解决即给分
我现在通过鼠标移动,用MouseCoord,可以获得当前DBGridEH的行(x)与列(y),我想实现的功能是:
功能1、不用点击DBGridEH的行,可以通过x,y将焦点定位在现在鼠标移动的行上。
功能2、如果x=?或y=? 我可以直接对当前DBGridEH的[x,y]进行赋值。
上述功能1与2解决方法,最好不要与DataSet关联,能在DBGridEH本身的属性上实现最好,谢了。在线等待,解决即给分
解决方案 »
- 如何让自己程序的一个窗口成为记事本的子窗口,并且要一直保持在记事本窗口的上方?
- delphi 奇怪的插入时间问题
- Delphi 如何设置时间提醒????? 很急的。。。。
- 刚学三层,有很多问题问题的向前辈请教!
- Delphi7里如何实现Delphi5里NMMSG控件的功能???
- 如何改变工程名,为了让提示消息的时候好看一点
- 数据库查询问题
- 我安装的report machine5.5或6.5版本控件的RMGridReportDesigner1的events属性怎么没有?
- 如何使TImage控件中透明图片的透明部分不响应事件??
- RichEdit或Memo如何做书签功能?
- 请教...这段C代码如何转成delphi?
- 如何读取另一软件上的数据
首先,你是要设置焦点,VCL控件体系最终是要掉系统的Windows.SetFocus(hWnd: HWND)方法
去设置焦点的,也就是说单元格不具有Handle属性,也就不能调用系统的API去设置焦点,这个时候
方向就要转到讲鼠标位置移动到这个单元格,然后去模拟击中DBGridEH,这时焦点才会在此单元格上。//移动鼠标位置且按下鼠标可参考此方法,至于根据行,列算出鼠标要移动到的区域方法有很多,随便选个
SetCursorPos (Form1.Left+50, Form1.Top+50);
mouse_event (MOUSEEVENTF_LEFTDOWN, 0,0,0,0);
mouse_event (MOUSEEVENTF_LEFTUP, 0,0,0,0);