我在一个Dbgrid的外面点一下鼠标,Dbgrid就会隐藏,请问如何代码实现

解决方案 »

  1.   

    因为Dbgrid的周围有很多其他的控件,我不可能在每个控件的onclick事件中加入
    Dbgrid1.visble=false,只允许在Dbgrid的外面点一下,Dbgrid就隐藏,不知道有没有其他的好办法
      

  2.   

    用消息,判断是鼠标的右键则dbgrid隐藏。
      

  3.   

    你可以在dbgrid的onexit里面写
    当dbgrid失去焦点的时候
    dbgrid.visible:=false;
      

  4.   

    控件多怕什么,先在form的onclick事件写 dbgrid.Visible:=false,然后ctrl+A选中所有控件,按shift点dbgrid取消dbgrid的选中,在object inspect选events页面的onclick事件,在下拉框选择formclick
      

  5.   

    可以呀,你可以截获 WM_NCHITTEST 消息WM_NCHITTEST  
    xPos = LOWORD(lParam);  // horizontal position of cursor 
    yPos = HIWORD(lParam);  // vertical position of cursor 根据其Pos 判断可示控件是否在   GetWindowRect()所取得的Rect 内然后想干啥干啥,该干啥干啥 Good Luck!!