我的mdi主窗口中有一个查询按钮button1和一个用于创建mdichildform的按钮button2,mdichildform中有一个DBgrid,现在运行程序,点击button2,mdichildform被创建并且打开,然后点击button1,dbgrid中显示了查询的数据,现在问题出现了,我再点击DBgrid的时候,无论我怎么点,都无法选择任何的数据,就好像在一个没有任何组建的form上点的效果一样,也就是dbgrid无法获得焦点,但是当我切换了窗口,比如把qq聊天窗口打开然后再切换回去,dbgrid就正常了,可以选择记录了,我把mdichildform改成一般的窗体,这个问题也不会出现,又或者我把查询按钮放到mdichildform上,这个问题仍然不会出现,我想请教请教大家,这到底是怎么一回事?该怎么解决呢?
解决方案 »
- delphi中定义过程(函数) 和 类的问题
- 麻烦哪位帮我解决一下这问题??
- 请问如何 对 用delphi开发的 activex 控件进行数字签名?????? 急!!!!!!!
- 为什么dbedit不可修改?
- 读取txt文件,如何返回文件的总行数
- 简单的问题:我要做一个继承TPanel的控件,在 WM_PAINT 消息中还要处理我的事情?
- 急需Tppdesigner控件,請提供下載地址!非常感謝!在線等待!!!
- 关于MainMenu的奇怪问题!我想这肯定是Delphi的BUG,BUG,BUGS!!
- fastreport控件的帮助
- 请问combobox的用法?
- 连接远程SQLserver错误?
- 调用VC写的DLL遇到的两个问题
最近我也遇到了类似的问题,我在网上搜索时,发现了一年前您在其它论坛留的贴子.我经过反复琢磨,想出了一个不是办法的办法,您不妨试试,这个办法在我的程序中可以将就着用,如果您想到更好的办法请告诉我.
解决办法是这样的,用一个其它可以正常获得焦点且不影响DBGrid获得焦点的控件过度一下:
编写DBgrid的OnMouseMove事件:(注意:我的是C++代码,请转换成Delphi代码)
{
能正常获得焦点且不影响DBGrid获得焦点的控件->SetFocus();
DBGrid1->SetFocus() ;
}
这个办法很可笑!!如果您想到了更好的办法请告诉我一声