关于网友提出的“ DBGridEH 设置焦点”问题疑问,本网通过在网上对“ DBGridEH 设置焦点”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: DBGridEH 设置焦点
描述: 现在界面有一DBGridEH,里面有很多数据,
我现在通过鼠标移动,用MouseCoord,可以获得当前DBGridEH的行(x)与列(y),
我想实现的功能是:
功能1、不用点击DBGridEH的行,可以通过x,y将焦点定位在现在鼠标移动的行上。
功能2、如果x=?或y=? 我可以直接对当前DBGridEH的[x,y]进行赋值。
上述功能1与2解决方法,最好不要与DataSet关联,能在DBGridEH本身的属性上实现最好,谢了。
在线等待,解决即给分
解决方案1: 大体思路讲下:
首先,你是要设置焦点,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);
以上介绍了“ DBGridEH 设置焦点”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2224630.html