我想写这么一条语句
if 一个窗体获得焦点 then
  begin
    一些操作;
   end;
if 该窗体没有获得焦点 then
  begin
    又一些操作
  end;
且我用的父窗体与子窗体的形式,如果此窗体还没有创建,会不会还有什么设置呀??
这个窗体获得焦点的语句怎么写呀???

解决方案 »

  1.   

    if Form1.Focused then
        begin
            ...
        end
        else if not Form2.Focused then
        begin
            ...
        end;
      

  2.   

    Focused 判断是否获得焦点;SetFocus 设置焦点到该空件!
      

  3.   

    先判断窗体是否存在,不存在创建
     if not Assigned(RegionQryFrm) then RegionQryFrm:=TRegionQryFrm.Create(application);
      

  4.   

    在窗体还没有创建的时候,给窗体上的一些控件焦点是会出错的。
    If Assigned(Form1) Then  //已创建
    Begin
      If Edit1.Focused Then
        //todo something
      Else
        // todo other thing 
    End
    Else
      Form1 := TForm1.Create(Self);
      

  5.   

    try
     if Form1.Focused  then
      begin
        一些操作;
       end;
    except;
    end;
    try
    if not form2.Focused  then
      begin
        又一些操作
      end;
    except;
    end;
      

  6.   

    有一个办法,在执行程序前先判断窗口是否打打开,没有打开就把它打开,
    if application.FindComponent('frmName')=nil then
      Application.CreateForm(tfrmName,frmName);
    如果打开时想看到窗口,就加一条代码:
      frmName.show;