在一个窗体中有8个dbedit控件与数据表的不同字段相连,如何知道哪个dbedit控件拥有焦点?   主要是想在其中的一个设置日期dbedit的控件能通过datetimepicker控件来输入时间,当这个设置日期dbedit的控件拥有输入焦点时,显示datetimepicker控件来输入时间,当这个设置日期dbedit的控件没有拥有输入焦点时便将datetimepicker控件隐藏。

解决方案 »

  1.   

    if form1.ActiveControl =edit1 then.......
      

  2.   

    procedure TForm1.Edit1Enter(Sender: TObject);
    begin
      form1.DateTimePicker1.Visible:=true;
    end;procedure TForm1.Edit1Exit(Sender: TObject);
    begin
      form1.DateTimePicker1.Visible:=false;
    end;
      

  3.   

    请问一楼的 if form1.ActiveControl =edit1 then.......写在哪个事件中合适?
      

  4.   

    请问二楼的 procedure TForm1.Edit1Exit(Sender: TObject);如果用这个事件鼠标一点就datatimepicker就不能选时间。
      

  5.   

    将Datetimepicker1控键放在DBEdit后面,只露出带有下拉三角部分即可
      

  6.   

    小人物的办法是不可实用的..to 风儿
    放在哪个的地方都合适啊,不过有些地方是没有意义的,譬如你在一个button的onclick里写if form1.ActiveControl =edit1 then.......这时activecontrol明显是button啊
      

  7.   

    应该有dbedit1.Focused用于判断该控件是否拥有焦点
      

  8.   

    我倒,microjuz(天才弟弟) 叫的够亲热的啊:)
    有意思,网上近十载,你是第一这这么叫的:)楼主可以在所有的edit的onenter事件中用