if not(ActiveControl is TDBGrid) then
      begin
        key:=#0;
       perform(WM_NEXTDLGCTL,0,0);
      end
能帮我解释一下.这里的ActiveControl是什么意思吗?起到什么作用.还有perform(WM_NEXTDLGCTL,0,0);
这的WM_NEXTDLGCTL这个是什么意思,起到什么作用,可以换成别的.如果可以能讲的通俗一点

解决方案 »

  1.   

    ActiveControl:一个对象,判断是否TDBGrid对象perform相当于调用sendmessage(self.handle, wm_nextdlgctl, 0, 0);
      

  2.   

    ActiveControl是一个执行某个类型组件的变量
    WM_NEXTDLGCTL,是把焦点给下一个组件
      

  3.   

    ActiveControl 代表当前激活或选中的控件
    perform(WM_NEXTDLGCTL,0,0);意思发送一个焦点转移的消息,该消息的作用是使焦点移到下一个控件上,那下一个控件就是ActiveControl 
      

  4.   

    我把(ActiveControl is TDBGrid)换成(ActiveControl is edit),在的设计版上有edit,但我执行却提示
    operator not applicable to this operand type(翻译:经营者不适用于此操作数类型)类型不对,可以在麻烦帮我讲一下,ActiveControl可以操作的对象类型吗?随便再问一下perform(WM_NEXTDLGCTL,0,0)中,除了WM_NEXTDLGCTL还可以是别的吗?
    我是个新手望多多照顾
      

  5.   

    对不起,我忘掉了T  (ActiveControl is edit)换成(ActiveControl is Tedit)就可以运行了.我找到了对应的书,书上讲了焦点.
    上面的代码实现的是鼠标移动到下一个框是通过TDBGrid完成,我必须要在设计界面上放一个TDBGrid 控件.可是我不想有这个TDBGrid 这个显示在我的登录框上.
    我解决的办法是把TDBGrid隐藏掉,在form1代码里加入TDBGrid.Hide; 调试可以移动到下一框,不知道这样可以吗能给我详细讲一下ActiveControl这个吗?
      

  6.   


    ActiveControl 当前获得焦点的控件对象